US3958221A - Method and apparatus for locating effective operand of an instruction - Google Patents
Method and apparatus for locating effective operand of an instruction Download PDFInfo
- Publication number
- US3958221A US3958221A US05/367,756 US36775673A US3958221A US 3958221 A US3958221 A US 3958221A US 36775673 A US36775673 A US 36775673A US 3958221 A US3958221 A US 3958221A
- Authority
- US
- United States
- Prior art keywords
- microprogram
- instruction
- address
- operation code
- address mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/261—Microinstruction address formation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
Definitions
- This invention relates to a method and apparatus which may be utilized in a microprogrammed processor for determining the address mode of an instruction and for utilizing the address mode determination to locate the effective operand of the instruction.
- each instruction is executed by accessing a subroutine of elemental instructions, each of the instructions being called a micro-order.
- a subroutine fetch microprogram
- the processor branches to a subroutine (fetch microprogram) which causes the next instruction to be fetched.
- the sequence of micro-orders making up each subroutine is called a microprogram, there being a separate microprogram associated with each instruction.
- An instruction generally consists of two parts, an operation code and an operand address.
- the operand address may be utilized in different ways in order to obtain the effective operand of the instruction depending on an addressing mode of the instruction.
- the addressing mode of the instruction is indicated by the operation code, normally being indicated by an address mode tag which is formed from the least significant bits (LSBs) of the operation code.
- LSBs least significant bits
- the number of bits which are utilized for the tag will depend on the number of different address modes available in the processor. For example, for a system having up to eight different address modes the tag would be formed of the three LSBs of the operation code.
- Single Word Mode-this is a one word instruction which does not have an effective operand (for example increment accumulator).
- Triple Word Mode-this is a three word instruction where the second and third words contain the total operand address. (i.e. both the sector address and the address within the sector).
- Methods 1 and 2 cause a significant increase in the size requirement for the microprogram memory.
- Method 3 also results in an increase in the memory requirement on the microprogram memory and has the further disadvantage of diminishing the flexibility of the processor.
- method 4 does not increase the microprogram memory requirements, and does provide complete flexibility, the requirement of successive tests and branch instructions for up to three encoded tag bits results in a number of microprogram memory cycles being required to select the proper address mode for each instruction. This significantly reduces the processor's speed and capacity.
- this invention provides a method and system for determining the address mode of each instruction in a microprogram processor, each instruction including an operation code, an addres mode tag, and an operand, for utilizing the address mode determination to locate the effective operand of the instruction.
- the system includes a micro-program memory containing microprogram micro-orders for controlling the obtaining of the effective operand for an instruction in each of the address modes.
- a means is also provided for controlling the sequential reading out of micro-orders of each microprogram, the controlling means including a micro-program register.
- decoder means operative in response to the address mode tag of an instruction for generating the address of the entry point in the microprogram memory of the microprogram micro-orders to be utilized to control the obtaining of the effective operand for the mode indicated by the tag.
- the address mode tag of each instruction is applied by a suitable means to the decoder and the microprogram entry point address read out from the decoder in response to the tag is applied by a suitable means to the microprogram register.
- the storing of the entry point address in the microprogram register initiates the execution of the microprogram micro-orders for the indicated mode, the micro-orders controlling the obtaining of the desired effective operand.
- the decoder means is also utilized to obtain the starting address for the operation code microprogram, the operation code being applied to the decoder means after the address tag and the resulting starting address being stored in a temporary register until execution of the address mode microprogram has been completed.
- FIG. 1 is a schematic block diagram of a preferred embodiment of the invention.
- FIG. 2 is a flow diagram illustrating the operation of a preferred embodiment of the invention.
- FIG. 3 is a diagram illustrating the instruction format for a preferred embodiment of the invention.
- the processor includes a main memory 10 in which instructions to be executed are stored, and a microprogram memory 12.
- a microprogram which is utilized for fetching instructions from memory 10 is stored starting at address zero in memory 12.
- Following the fetch microprogram in memory 12 is an address mode microprogram.
- the address mode microprogram has several entry points and several branch or exit points, with entry point into the address mode microprogram being provided for each address mode. There would normally be a separate entry point into the address mode microprogram for each address mode, although in some instances, the same entry points may be utilized for two or more modes.
- the remainder of memory 12 contains the various execution mode microprogram of the processor.
- each microprogram is made up of a sequence of micro-orders. As each micro-order is read out from memory 12, on lines 13, it is applied to micro-order decoder 14. If it is assumed that memory 12 is a solid state read-only memory, then outputs can be considered to continuously appear on lines 13 so long as an address input is applied to the memory. Decoder 14 generates selected control signals on lines 16, in response to the bits or combination of bits of the micro-order. For maximum flexibility, each line 16 controls a particular function, with the micro-order being decoded to determine if it requires a particular function and a signal appearing on the line if the function is required.
- decoder 14 decodes the instruction number, for example the first instruction of the fetch routine, and the lines corresponding to each instruction are hard wired to the various points in the circuit where they are utilized.
- FIG. 1 illustrates both modes of operation by showing various control lines and also illustrating the instructions which cause signals to appear on the lines for the preferred embodiment of the invention. Since the orders and the related OR gates are optional and would not normally be utilized for the preferred embodiment of the invention, these lines and elements have been shown dotted.
- Main memory 10 is accessed under control of a memory address register (MAR) 18, address inputs to the memory being applied through a gate 20 which is energized by an MARO control signal on line 16A from decoder 14.
- MAR memory address register
- the MARO signal is generated for the second instruction of the fetch microprogram (F2) and for a selected X instruction of an address mode routine (AMX).
- the output from gate 20, in addition to accessing memory 10, is also applied to a main bus 22.
- Signals on bus 22 are applied as the information inputs to an arithmetic unit 24, the output from which is applied to an output bus 26.
- An Add 1 control signal may be applied to arithmetic unit 24 through line 16B.
- signals are applied to line 16B during micro-orders F1 and F2 times.
- the system also includes a program counter register (PCR) 28 the output from which is applied through a gate 30 to main bus 22.
- PCR program counter register
- Gate 30 is enabled by a PCO signal on line 16C.
- a signal appears on line 16C at F1 time.
- Output bus 26 is connected as an information input to gates 32, 34, 36, and 38.
- Gate 32 passes the signals on bus 26 to MAR 18 and is enabled by an MARI control signal on line 16D. For the preferred embodiment, signals appear on line 16D at F1 and F2 times.
- Gate 34 passes the signals on bus 26 to a temporary register (TEMP REG) 40.
- Gate 34 is enabled by a TRI control signal on line 16E, a signal appearing on this line during the first micro-order of the address mode microprogram which is executed for each address mode (AMI time).
- Gate 36 passes the signals on bus 26 to a microprogram counter or register (UPC) 42.
- UPC microprogram counter or register
- Gate 36 is enabled by a UI control signal on line 16F, a signal appearing on this line, for the preferred embodiment of the invention, at C time during the F3 micro-order or during the last micro-order of the address mode microprogram to be executed for each address mode (AMN time).
- Clock time C is the time at which a new micro-order is caused to appear at the output from memory 12.
- Gate 38 passes the signals on line 26 to PCR 28 and is enabled by a PCI signal on line 16G. For the preferred embodiment of the invention, a signal appears on line 16G during F1 and F2 times.
- An output from TEMP REG 40 is applied through gate 44 to main bus 22, gate 44 being conditioned by a TRO control signal on line 16H.
- a signal appears on line 16H at AMN time.
- the contents of UPC 42 are continuously applied to address and cause a read out from microprogram memory 12.
- UPC 42 may also be reset by a UR signal on line 16I and incremented by an IU signal on line 16J.
- a signal appears on line 16I during C time of the last micro-order of each execution mode microprogram (EMN time) and a signal appears on line 16J at each C time.
- MDR memory date register
- FIG. 3 The format for an exemplary instruction stored in memory 10 is shown in FIG. 3.
- the instruction is contained in two eight bits words, the total instruction thus being 16 bits.
- the first five bits of the first word contain the operation code and the next three bits the address mode tag.
- the second word containing the last eight bits of the instruction, stores the instruction operand.
- the output lines from the five bit positions of MDR containing the operand code are applied through a switch 52 to an instruction translator or decoder 54, of conventional design while the output lines from the three tag bits in MDR are applied directly to translator 54.
- Translator 54 may, for example, be read only memory (ROM).
- Switch 52 is enabled or turned on by an OPC control signal on line 16R a signal appearing on this line for the preferred embodiment at AM1 time.
- the first eight address positions in translator 54 contain the entry point addresses for the various address modes in the address mode microprogram in memory 12, while the remainder of the translator contains the starting addresses in memory 12 of the execution mode microprograms.
- Translator 54 is enabled by an IT control signal on line 16L, a signal appearing on line 16L for the preferred embodiment of the invention at F3 and AMI times. Outputs from translator 54 are applied to output bus 26.
- FIG. 2 is a flow diagram illustrating the various steps involved in performing an address mode determination and related functions with the system shown in FIG. 1. Assume initially that all registers and counters except PCR are set to zero, PCR containing the address of the next instruction in memory 10 which is to be executed. UPC 42 being set to zero means that the microprogram being performed is the fetch microprograms. The zero address being applied to microprogram memory 12, causes the F1 micro-order to be read out to micro-order decoder 14.
- the F1 micro-order in decoder 14 causes a signal to appear on PCO line 16C, conditioning gate 30 to pass the program count in PCR 28 through bus 22 to arithmetic unit 24.
- a signal also appearing on ADD-1 line 16B at this time causes the address to be incremented and applied through output bus 26 and conditioned gates 32 and 38 to MAR 18 and PCR 28 respectively.
- the address of the next instruction to be fetched is thus loaded into MAR and the count in PCR updated.
- Step 60 (FIG. 2) is in this manner performed.
- IU line 16J has a signal applied thereto, incrementing UPC 42 to the address of the second fetch micro-order (F2).
- the second instruction of the fetch routine is thus read out into decoder 14.
- the decoding of the F2 micro-order causes a signal to appear on MARO line 16A conditioning gate 20 to pass the address in MAR 18 to main memory 10, causing the instruction at the indicated address to be read out into MDR 50.
- the contents of MAR 18 are also applied through bus 22 and arithmetic unit 24, where the address is incremented by one under control of a signal on ADD-1 line 16B, to output bus 26.
- the incremented address on output bus 26 is applied through conditioned gates 32 and 38 to be stored in MAR 18 and PCR 28.
- the address of the second word of the instruction, the word containing the instruction operand, is thus stored in both MAR and PCR.
- the operations indicated for step 62 of FIG. 2 are thus performed.
- UPC 42 is again incremented, causing the third instruction of the fetch routine to be read out into micro-order decoder 14.
- a control signal is applied to IT line 16L enabling instruction translator 54.
- switch 52 is not enabled at this time, only the three LSBs in MDR 50, which bit positions contain the address mode tag, are applied to translator 54 at this time.
- translator 54 In response to the application of the address tag, translator 54 generates an output which represents the address in memory 12 which is the entry point for the address mode microprogram for the address mode indicated by the tag in the instruction.
- the address outputted from circuit 54 is applied through output bus 26 to gate 36.
- gate 36 is conditioned to store the address microprogram entry point address applied thereto in UPC 42.
- Micro-order decoder 14 is designed so that the existence of a signal on UI line 16F inhibits the generation of a signal on IV (increment) line 16J to prevent the entry point address stored in the UPC from being incremented.
- the UPC may be a counter of the type where an information input overides a simultaneously received increment input. The operations indicated under step 64 in FIG. 2 are thus performed.
- the entry point address in UPC 42 causes the first micro-order for the selected address mode in the address mode microprogram to be applied to micro-order decoder 14.
- the branch to the address mode microprogram (step 66) is thus effected.
- the last step of the address mode microprogram conditions the system to branch to the proper execution mode microprogram. This is accomplished, as indicated by step 72, by transferring the address in temporary register 40 to UPC 42.
- step 72 by transferring the address in temporary register 40 to UPC 42.
- a TRO control signal appears on line 16H, conditioning gate 44 to pass the address in temporary register 40 to main bus 22.
- This address is then passed through arithmetic unit 24 and output bus 26 to gate 36, gate 36 being conditioned at the next C clock time to store the address in UPC 42.
- AMN is not one of the conditions which causes a signal to appear on ADD-1 line 16B.
- the address from the temporary register passes through the arithmetic unit unchanged. The desired transfer of the first address of the execution mode microprogram from TEMP REG 40 to UPC 42 is thus effected.
- the loading of the execution mode microprogram address into UPC 42 causes the first micro-order of the execution mode micro-program to be read into micro-order decoder 14.
- the micro-orders of the execution mode microprogram are then read-out and performed in sequence (step 74) until the last micro-order of the micro-program is reached.
- a signal appears on UR line 16I causing the contents of UPC 42 to be reset to zero (step 76).
- the zero address in micro-program memory 12 contains the first micro-order of the instruction fetch microprogram.
- a branch to the fetch microprogram (step 78) occurs, causing the operation to return to step 60 to perform the operations indicated under control of the F1 micro-order.
- a system determines the address mode for an instruction in a microprogrammed processor, and branches to a proper entry point in a microprogram for performing the address mode functions in one microprogram memory instruction time while requiring only a single multiple entry point microprogram to be stored for the address mode functions and a single microprogram to be stored for each execution operation code.
- the system provides full flexibility, each instruction being performable in all of the address modes.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
This invention relates to a method and apparatus for determining the address mode of each instruction in a microprogrammed processor, and for utilizing the address mode determination to locate the effective operand of the instruction. A microprogram memory is included which contains microprogram micro-orders for controlling the obtaining of the effective operand for an instruction in each of the address modes. The address being accessed in the microprogram memory at any given time is stored in a microprogram register. There is a decoder which is operative in response to the address mode tag of an instruction for generating the address of the entry point in the microprogram memory for the microprogram micro-orders to be utilized to control the obtaining of the effective operand for the mode indicated by the tag. The address mode tag of each instruction is applied to the decoder and the microprogram entry point address read out from the decoder in response to the tag is stored in the microprogram register. The storing of the entry point address in the microprogram register initiates the execution of the microprogram micro-orders for the indicated mode, the micro-orders controlling the obtaining of the desired effective operand. The decoder means may also be utilized to obtain a starting address for the operation code microprograms, the operation code being applied to the decoder after the address tag and the resulting starting address being stored in a temporary register until execution of the required micro-orders of the address mode microprogram has been completed.
Description
This invention relates to a method and apparatus which may be utilized in a microprogrammed processor for determining the address mode of an instruction and for utilizing the address mode determination to locate the effective operand of the instruction.
In a microprogrammed processor, each instruction is executed by accessing a subroutine of elemental instructions, each of the instructions being called a micro-order. When the sequence of micro-orders for a given instruction is completed, the processor branches to a subroutine (fetch microprogram) which causes the next instruction to be fetched. The sequence of micro-orders making up each subroutine is called a microprogram, there being a separate microprogram associated with each instruction.
An instruction generally consists of two parts, an operation code and an operand address. In some machines, however, the operand address may be utilized in different ways in order to obtain the effective operand of the instruction depending on an addressing mode of the instruction. The addressing mode of the instruction is indicated by the operation code, normally being indicated by an address mode tag which is formed from the least significant bits (LSBs) of the operation code. The number of bits which are utilized for the tag will depend on the number of different address modes available in the processor. For example, for a system having up to eight different address modes the tag would be formed of the three LSBs of the operation code.
While a given processor may have any one of a variety of different address modes, the following is a list of typical address modes in a microprogrammed processor:
1. Direct Mode-a two word instruction where the second word contains the LSBs of the address where the effective operand is stored, the most significant bits (MSBs) of the address being the sector address presently stored in the processor program counter.
2. Direct Mode Zero Sector-same as 1 above except that the address in the second word is in the Zero (first) sector of memory.
3. Indirect Mode-same as 1 above except that the memory location indicated by the address in the second word contains an address where the effective operand is stored rather than the operand itself.
4. Indirect Mode Zero Sector-same as 3 above except that the address in the second word is located in the Zero (first) sector of the memory.
5. Immediate Mode-a two word instruction where the second word contains the effective operand.
6. Single Word Mode-this is a one word instruction which does not have an effective operand (for example increment accumulator).
7. Triple Word Mode-this is a three word instruction where the second and third words contain the total operand address. (i.e. both the sector address and the address within the sector).
Heretofore, at least four different methods have been utilized for finding the effective operand from the address mode tag and instruction operand. These methods have been:
1. Including the addressing mode phase of the fetch into the execution phase of each instruction. This requires that a set of address mode routines be provided for each operation code microprogram with the microprogram being entered at the beginning of the appropriate address mode routine associated with the instruction operation code microprogram, and there being a branch from the end of each address mode routine into the operation code portion of the microprogram.
2. Breaking a single instruction into several instructions, each one representing a different addressing mode. In this instance, there is a separate microprogram for each operation code in each of the different address modes in which it may be utilized. Thus, for example, if the processor has seven address modes, there would be seven microprograms stored for each operation code.
3. Same as 2 above except that all addressing modes are not included for all instructions.
4. Provide one central fetch routine and test and branch on the tag bits to obtain the proper address mode.
It is apparent that each of the techniques described above has certain limitations. Methods 1 and 2, (particularly method 2) cause a significant increase in the size requirement for the microprogram memory. Method 3 also results in an increase in the memory requirement on the microprogram memory and has the further disadvantage of diminishing the flexibility of the processor. While method 4 does not increase the microprogram memory requirements, and does provide complete flexibility, the requirement of successive tests and branch instructions for up to three encoded tag bits results in a number of microprogram memory cycles being required to select the proper address mode for each instruction. This significantly reduces the processor's speed and capacity.
A need thus exists for a method and apparatus to perform the address mode determination and effective operand selection functions which method does not require an increase in the size of the microprogram memory, permits all addressing modes to be included for all instructions, thus providing complete processor flexibility, and which permits the address mode determination to be performed in no more than one microprogram instruction time.
In accordance with the above, this invention provides a method and system for determining the address mode of each instruction in a microprogram processor, each instruction including an operation code, an addres mode tag, and an operand, for utilizing the address mode determination to locate the effective operand of the instruction. The system includes a micro-program memory containing microprogram micro-orders for controlling the obtaining of the effective operand for an instruction in each of the address modes. A means is also provided for controlling the sequential reading out of micro-orders of each microprogram, the controlling means including a micro-program register. There is a decoder means operative in response to the address mode tag of an instruction for generating the address of the entry point in the microprogram memory of the microprogram micro-orders to be utilized to control the obtaining of the effective operand for the mode indicated by the tag. The address mode tag of each instruction is applied by a suitable means to the decoder and the microprogram entry point address read out from the decoder in response to the tag is applied by a suitable means to the microprogram register. The storing of the entry point address in the microprogram register initiates the execution of the microprogram micro-orders for the indicated mode, the micro-orders controlling the obtaining of the desired effective operand.
For a preferred embodiment of the invention, the decoder means is also utilized to obtain the starting address for the operation code microprogram, the operation code being applied to the decoder means after the address tag and the resulting starting address being stored in a temporary register until execution of the address mode microprogram has been completed.
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of a preferred embodiment as illustrated in the accompanying drawings.
FIG. 1 is a schematic block diagram of a preferred embodiment of the invention.
FIG. 2 is a flow diagram illustrating the operation of a preferred embodiment of the invention.
FIG. 3 is a diagram illustrating the instruction format for a preferred embodiment of the invention.
Referring now to FIG. 1, the portion of a microprogrammed processor of a preferred embodiment of the invention which is utilized in making the address mode determination and in performing related functions is shown. The processor includes a main memory 10 in which instructions to be executed are stored, and a microprogram memory 12. A microprogram which is utilized for fetching instructions from memory 10 (fetch microprogram) is stored starting at address zero in memory 12. Following the fetch microprogram in memory 12 is an address mode microprogram. The address mode microprogram has several entry points and several branch or exit points, with entry point into the address mode microprogram being provided for each address mode. There would normally be a separate entry point into the address mode microprogram for each address mode, although in some instances, the same entry points may be utilized for two or more modes. The remainder of memory 12 contains the various execution mode microprogram of the processor.
As indicated previously, each microprogram is made up of a sequence of micro-orders. As each micro-order is read out from memory 12, on lines 13, it is applied to micro-order decoder 14. If it is assumed that memory 12 is a solid state read-only memory, then outputs can be considered to continuously appear on lines 13 so long as an address input is applied to the memory. Decoder 14 generates selected control signals on lines 16, in response to the bits or combination of bits of the micro-order. For maximum flexibility, each line 16 controls a particular function, with the micro-order being decoded to determine if it requires a particular function and a signal appearing on the line if the function is required. With this mode of operation, the function performed at a given point in a microprogram may be easily changed by merely changing the micro-order stored at that point. For an alternative, but less flexible, mode of operation, decoder 14 decodes the instruction number, for example the first instruction of the fetch routine, and the lines corresponding to each instruction are hard wired to the various points in the circuit where they are utilized. FIG. 1 illustrates both modes of operation by showing various control lines and also illustrating the instructions which cause signals to appear on the lines for the preferred embodiment of the invention. Since the orders and the related OR gates are optional and would not normally be utilized for the preferred embodiment of the invention, these lines and elements have been shown dotted.
The system also includes a program counter register (PCR) 28 the output from which is applied through a gate 30 to main bus 22. Gate 30 is enabled by a PCO signal on line 16C. For the preferred embodiment, a signal appears on line 16C at F1 time.
An output from TEMP REG 40 is applied through gate 44 to main bus 22, gate 44 being conditioned by a TRO control signal on line 16H. A signal appears on line 16H at AMN time. The contents of UPC 42 are continuously applied to address and cause a read out from microprogram memory 12. UPC 42 may also be reset by a UR signal on line 16I and incremented by an IU signal on line 16J. For a preferred embodiment of the invention, a signal appears on line 16I during C time of the last micro-order of each execution mode microprogram (EMN time) and a signal appears on line 16J at each C time.
Instructions read out from memory 10 are stored in memory date register (MDR) 50. The format for an exemplary instruction stored in memory 10 is shown in FIG. 3. The instruction is contained in two eight bits words, the total instruction thus being 16 bits. The first five bits of the first word contain the operation code and the next three bits the address mode tag. The second word, containing the last eight bits of the instruction, stores the instruction operand. The output lines from the five bit positions of MDR containing the operand code are applied through a switch 52 to an instruction translator or decoder 54, of conventional design while the output lines from the three tag bits in MDR are applied directly to translator 54. Translator 54 may, for example, be read only memory (ROM). Switch 52 is enabled or turned on by an OPC control signal on line 16R a signal appearing on this line for the preferred embodiment at AM1 time. The first eight address positions in translator 54 contain the entry point addresses for the various address modes in the address mode microprogram in memory 12, while the remainder of the translator contains the starting addresses in memory 12 of the execution mode microprograms. Translator 54 is enabled by an IT control signal on line 16L, a signal appearing on line 16L for the preferred embodiment of the invention at F3 and AMI times. Outputs from translator 54 are applied to output bus 26.
FIG. 2 is a flow diagram illustrating the various steps involved in performing an address mode determination and related functions with the system shown in FIG. 1. Assume initially that all registers and counters except PCR are set to zero, PCR containing the address of the next instruction in memory 10 which is to be executed. UPC 42 being set to zero means that the microprogram being performed is the fetch microprograms. The zero address being applied to microprogram memory 12, causes the F1 micro-order to be read out to micro-order decoder 14.
The F1 micro-order in decoder 14 causes a signal to appear on PCO line 16C, conditioning gate 30 to pass the program count in PCR 28 through bus 22 to arithmetic unit 24. A signal also appearing on ADD-1 line 16B at this time causes the address to be incremented and applied through output bus 26 and conditioned gates 32 and 38 to MAR 18 and PCR 28 respectively. The address of the next instruction to be fetched is thus loaded into MAR and the count in PCR updated. Step 60 (FIG. 2) is in this manner performed.
At the next C clock time, IU line 16J has a signal applied thereto, incrementing UPC 42 to the address of the second fetch micro-order (F2). The second instruction of the fetch routine is thus read out into decoder 14. The decoding of the F2 micro-order causes a signal to appear on MARO line 16A conditioning gate 20 to pass the address in MAR 18 to main memory 10, causing the instruction at the indicated address to be read out into MDR 50. The contents of MAR 18 are also applied through bus 22 and arithmetic unit 24, where the address is incremented by one under control of a signal on ADD-1 line 16B, to output bus 26. The incremented address on output bus 26 is applied through conditioned gates 32 and 38 to be stored in MAR 18 and PCR 28. The address of the second word of the instruction, the word containing the instruction operand, is thus stored in both MAR and PCR. The operations indicated for step 62 of FIG. 2 are thus performed.
At the next C clock time, UPC 42 is again incremented, causing the third instruction of the fetch routine to be read out into micro-order decoder 14. Under control of the F3 micro-order, a control signal is applied to IT line 16L enabling instruction translator 54. However, since switch 52 is not enabled at this time, only the three LSBs in MDR 50, which bit positions contain the address mode tag, are applied to translator 54 at this time. In response to the application of the address tag, translator 54 generates an output which represents the address in memory 12 which is the entry point for the address mode microprogram for the address mode indicated by the tag in the instruction. The address outputted from circuit 54 is applied through output bus 26 to gate 36. At the next C clock time, gate 36 is conditioned to store the address microprogram entry point address applied thereto in UPC 42. Micro-order decoder 14 is designed so that the existence of a signal on UI line 16F inhibits the generation of a signal on IV (increment) line 16J to prevent the entry point address stored in the UPC from being incremented. In the alternative, the UPC may be a counter of the type where an information input overides a simultaneously received increment input. The operations indicated under step 64 in FIG. 2 are thus performed.
The entry point address in UPC 42 causes the first micro-order for the selected address mode in the address mode microprogram to be applied to micro-order decoder 14. The branch to the address mode microprogram (step 66) is thus effected.
During the first micro-order of the address mode microprogram for each address mode, a signal appears on OPC line 16R, enabling switch 52 to apply the five MSBs stored in MDR 50, the bits of the operation code, to translator 54. Translator 54 is also enabled at this time by an IT signal on line 16L. This results in the address of the first micro-order of the required execution mode microprogram being read out onto output bus 26. The decoding of the AM1 micro-order also causes a signal to appear on TRI line 16E, enabling gate 34 to pass the address on output bus 26 into temporary register 40. The operations indicated in step 68 of FIG. 2 are thus performed.
The remaining operations which are performed under control of the address mode microprogram will vary with the address mode and the exact nature of these operations do not form part of the present invention. No attempt will therefore be made to describe these operations in detail. However, it is noted that in almost every instance, the second or third micro-order of the address microprogram which is executed will cause a signal to be applied to MARO line 16A, conditioning gate 20 to cause the second word of the instruction, the word containing the operand, to be read out into MDR 50. Step 70 of FIG. 2 is thus performed.
The last step of the address mode microprogram, regardless of the instruction address mode, conditions the system to branch to the proper execution mode microprogram. This is accomplished, as indicated by step 72, by transferring the address in temporary register 40 to UPC 42. To accomplish this, when the last instruction of the address mode microprogram is read into micro-order decoder 14, a TRO control signal appears on line 16H, conditioning gate 44 to pass the address in temporary register 40 to main bus 22. This address is then passed through arithmetic unit 24 and output bus 26 to gate 36, gate 36 being conditioned at the next C clock time to store the address in UPC 42. It is noted that AMN is not one of the conditions which causes a signal to appear on ADD-1 line 16B. Thus, the address from the temporary register passes through the arithmetic unit unchanged. The desired transfer of the first address of the execution mode microprogram from TEMP REG 40 to UPC 42 is thus effected.
The loading of the execution mode microprogram address into UPC 42 causes the first micro-order of the execution mode micro-program to be read into micro-order decoder 14. The micro-orders of the execution mode microprogram are then read-out and performed in sequence (step 74) until the last micro-order of the micro-program is reached. At the C clock time at the end of the execution of this micro-order, micro-order EMN, a signal appears on UR line 16I causing the contents of UPC 42 to be reset to zero (step 76). As was previously indicated, the zero address in micro-program memory 12 contains the first micro-order of the instruction fetch microprogram. Thus, a branch to the fetch microprogram (step 78) occurs, causing the operation to return to step 60 to perform the operations indicated under control of the F1 micro-order.
A system has thus been provided which determines the address mode for an instruction in a microprogrammed processor, and branches to a proper entry point in a microprogram for performing the address mode functions in one microprogram memory instruction time while requiring only a single multiple entry point microprogram to be stored for the address mode functions and a single microprogram to be stored for each execution operation code. Finally, the system provides full flexibility, each instruction being performable in all of the address modes.
In the discussion above, details have not been provided for such functions as the reading out of micro-orders from micro-program memory 12 and the decoding of these micro-orders in decoder 14. It is understood that these and other similar functions of the system are performed in the same manner as for existing micro-programed processors, such as for example the programmable control unit (PCU) of the Bunker Ramo Market Decision System 7. The details of applying this invention will vary with the particular microprogrammed processor utilized. Thus, while for the preferred embodiment of the invention, a two word instruction has been utilized, requiring that the execution mode starting address be stored in a temporary register so that the operand may be loaded into MDR, it is apparent that, with a larger MDR and a single word instruction, the decoding of the operation code would be performed at the end rather than at the beginning of the address mode microprogram, eliminating the need for temporarily storing this address. A separate address mode microprogram for each address mode might also be utilized in some applications in place of the single multiple entry point microprogram described above. These and other modifications could be made in the form and details of the described method and apparatus by those skilled in the art without departing from the spirit and scope of the invention.
Claims (8)
1. In a microprogrammed processor, having a memory storing a plurality of instructions, each instruction including an operation code, an address mode tag, and an operand, improved means responsive to the address mode tag of an instruction for initiating the execution of a selected address mode microprogram to locate the effective operand of the instruction, comprising:
a microprogram memory containing both address mode microprogram micro-orders for controlling the obtaining of the effective operand for an instruction in each of the address modes from the instruction operand, and an operation code micro-program for each operation code for controlling the execution of the instruction;
means for controlling the sequential reading out of micro-orders of each microprogram from said microprogram memory, said means including a microprogram register for addressing said microprogram memory;
decoder means operative in response to the address mode tag of an instruction for generating the address of an entry point of a corresponding address mode microprogram in said microprogram memory for use to control the obtaining of the effective operand for the address mode indicated by the tag, said decoder means also being operative in response to the operation code of an instruction for generating the starting address of a corresponding operation code microprogram in said microprogram memory for controlling the execution of the operation indicated by instruction operation code;
means operative for each instruction for applying the address mode tag of the instruction to said decoder means and for then applying the operation code of the instruction to the decoder means;
means for applying the address mode microprogram entry point address read out from said decoder means in response to said tag to said microprogram register;
a temporary register; and
means for storing the operation code microprogram starting address read out from said decoder means in response to said operation code in said temporary register.
2. A system as claimed in claim 1 including means operative when operation code execution of the microprogram for controlling the execution of the operation indicated by the instruction operation code is to begin operation code for transferring the microprogram starting address in the temporary register to the microprogram register.
3. A system as claimed in claim 1 wherein said means applying the address mode tag of the instruction to said decoder means includes a switch which blocks the application of the operation code to the decoder means when the address mode tag is to be applied to the decoder means.
4. In a microprogramed processor, having a memory storing a plurality of instructions, each instruction including an operation code, an address mode tag, and an operand, improved means responsive to the address mode tag of an instruction for initiating the execution of a selected address mode microprogram to locate the effective operand of the instruction, comprising:
a microprogram memory storing a plurality of different address mode microprograms, each address mode microprogram comprising a plurality of micro-orders for controlling the obtaining of the effective operand for an instruction;
means for controlling the sequential reading out of micro-orders of each address mode microprogram from said microprogram memory, said means including a microprogram register for addressing said microprogram memory;
decoder means operative in response to the address mode tag of an instruction for generating the address of an entry point of a corresponding address mode microprogram in said microprogram memory for use to control the obtaining of the effective operand for the address mode indicated by the tag;
means operative for each instruction for applying the address mode tag of the instruction to said decoder means; and
means applying the microprogram entry point address read out from said decoder in response to said micro-program register to initiate the execution of the address mode microprogram micro-orders for the selected address mode, wherein said microprogram memory also contains an operation code microprogram for each operation code for controlling the execution of the instruction:
wherein said decoder means is also operative in response to the operation code of an instruction for generating the starting address in said microprogram operation code memory of the microprogram for controlling the execution of the operation indicated by the code;
and including means for sequentially applying the address mode tag of an instruction and the operation code of the instruction to said decoder means.
5. A system as claimed in claim 4 including a temporary register; and
operation code means for storing the microprogram starting address read out from said decoder in response to said operation code in said temporary register.
6. A system as claimed in claim 5 including means operative operation code when execution of the microprogram for controlling the execution of the operation indicated by the instruction operation code is to begin for transferring the microprogram starting address in the temporary register to the microprogram register.
7. A system as claimed in claim 4 wherein said means for applying the address mode tag of the instruction to said decoder means includes a switch which blocks the application of the operation code to the decoder means when the address mode tag is to be applied to the decoder means.
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/367,756 US3958221A (en) | 1973-06-07 | 1973-06-07 | Method and apparatus for locating effective operand of an instruction |
IL44838A IL44838A (en) | 1973-06-07 | 1974-05-15 | Method and apparatus for use in data processing |
CA200,443A CA1029472A (en) | 1973-06-07 | 1974-05-21 | Method and apparatus for locating effective operand of an instruction |
SE7407150A SE402991B (en) | 1973-06-07 | 1974-05-30 | DEVICE FOR DETERMINING THE ADDRESS KIT FOR AN INSTRUCTION IN A MICRO-PROGRAMMED CENTRAL UNIT |
DE19742426874 DE2426874A1 (en) | 1973-06-07 | 1974-06-04 | PROCEDURE AND CIRCUIT ARRANGEMENT FOR DETERMINING THE TYPE OF ADDRESS OF AN COMMAND |
JP49063512A JPS5023543A (en) | 1973-06-07 | 1974-06-06 | |
IT23672/74A IT1014826B (en) | 1973-06-07 | 1974-06-06 | METHOD AND EQUIPMENT FOR POSITIONING THE ACTUAL OPERAND OF AN INSTRUCTION |
FR7419576A FR2232798B3 (en) | 1973-06-07 | 1974-06-06 | |
GB2546474A GB1434702A (en) | 1973-06-07 | 1974-06-07 | Method and apparatus for locating effective operand of an instruction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/367,756 US3958221A (en) | 1973-06-07 | 1973-06-07 | Method and apparatus for locating effective operand of an instruction |
Publications (1)
Publication Number | Publication Date |
---|---|
US3958221A true US3958221A (en) | 1976-05-18 |
Family
ID=23448471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US05/367,756 Expired - Lifetime US3958221A (en) | 1973-06-07 | 1973-06-07 | Method and apparatus for locating effective operand of an instruction |
Country Status (9)
Country | Link |
---|---|
US (1) | US3958221A (en) |
JP (1) | JPS5023543A (en) |
CA (1) | CA1029472A (en) |
DE (1) | DE2426874A1 (en) |
FR (1) | FR2232798B3 (en) |
GB (1) | GB1434702A (en) |
IL (1) | IL44838A (en) |
IT (1) | IT1014826B (en) |
SE (1) | SE402991B (en) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4032895A (en) * | 1974-08-21 | 1977-06-28 | Ing. C. Olivetti & C., S.P.A. | Electronic data processing computer |
US4126896A (en) * | 1976-04-01 | 1978-11-21 | Tokyo Shibaura Electric Co., Ltd. | Microprogrammed large-scale integration (LSI) microprocessor |
US4161026A (en) * | 1977-11-22 | 1979-07-10 | Honeywell Information Systems Inc. | Hardware controlled transfers to microprogram control apparatus and return via microinstruction restart codes |
US4173041A (en) * | 1976-05-24 | 1979-10-30 | International Business Machines Corporation | Auxiliary microcontrol mechanism for increasing the number of different control actions in a microprogrammed digital data processor having microwords of fixed length |
US4205372A (en) * | 1974-09-25 | 1980-05-27 | Data General Corporation | Central processing unit employing microprogrammable control for use in a data processing system |
US4307445A (en) * | 1978-11-17 | 1981-12-22 | Motorola, Inc. | Microprogrammed control apparatus having a two-level control store for data processor |
US4323964A (en) * | 1976-11-01 | 1982-04-06 | Data General Corporation | CPU Employing micro programmable control for use in a data processing system |
US4330823A (en) * | 1978-12-06 | 1982-05-18 | Data General Corporation | High speed compact digital computer system with segmentally stored microinstructions |
US4342078A (en) * | 1979-05-21 | 1982-07-27 | Motorola, Inc. | Instruction register sequence decoder for microprogrammed data processor and method |
EP0080901A2 (en) * | 1981-12-01 | 1983-06-08 | Honeywell Bull Inc. | Data processing apparatus |
GB2203572A (en) * | 1987-03-24 | 1988-10-19 | Insignia Solutions Limited | Microprocessor emulation |
EP0349124A2 (en) * | 1988-06-27 | 1990-01-03 | Digital Equipment Corporation | Operand specifier processing |
US4897787A (en) * | 1986-02-26 | 1990-01-30 | Hitachi, Ltd. | Data processing system |
US5123096A (en) * | 1987-08-03 | 1992-06-16 | Masahito Matuo | Data processor with addressing mode decoding function |
US5187782A (en) * | 1986-02-26 | 1993-02-16 | Hitachi, Ltd. | Data processing system |
US5361338A (en) * | 1988-10-14 | 1994-11-01 | Mitsubishi Denki Kabushiki Kaisha | Pipelined system for decomposing instruction into two decoding parts and either concurrently generating two operands addresses of merging decomposing decoding codes based upon the second operand |
US5542058A (en) * | 1992-07-06 | 1996-07-30 | Digital Equipment Corporation | Pipelined computer with operand context queue to simplify context-dependent execution flow |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5831232A (en) * | 1981-08-19 | 1983-02-23 | Matsushita Electric Ind Co Ltd | Radiation heating apparatus |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3302183A (en) * | 1963-11-26 | 1967-01-31 | Burroughs Corp | Micro-program digital computer |
US3422404A (en) * | 1966-02-23 | 1969-01-14 | David E Ferguson | Apparatus and method for decoding operation codes in digital computers |
US3599186A (en) * | 1970-05-14 | 1971-08-10 | Ibm | Memory-centered computer system |
US3654621A (en) * | 1969-11-28 | 1972-04-04 | Burroughs Corp | Information processing system having means for dynamic memory address preparation |
US3657705A (en) * | 1969-11-12 | 1972-04-18 | Honeywell Inc | Instruction translation control with extended address prefix decoding |
-
1973
- 1973-06-07 US US05/367,756 patent/US3958221A/en not_active Expired - Lifetime
-
1974
- 1974-05-15 IL IL44838A patent/IL44838A/en unknown
- 1974-05-21 CA CA200,443A patent/CA1029472A/en not_active Expired
- 1974-05-30 SE SE7407150A patent/SE402991B/en unknown
- 1974-06-04 DE DE19742426874 patent/DE2426874A1/en not_active Withdrawn
- 1974-06-06 IT IT23672/74A patent/IT1014826B/en active
- 1974-06-06 FR FR7419576A patent/FR2232798B3/fr not_active Expired
- 1974-06-06 JP JP49063512A patent/JPS5023543A/ja active Pending
- 1974-06-07 GB GB2546474A patent/GB1434702A/en not_active Expired
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3302183A (en) * | 1963-11-26 | 1967-01-31 | Burroughs Corp | Micro-program digital computer |
US3422404A (en) * | 1966-02-23 | 1969-01-14 | David E Ferguson | Apparatus and method for decoding operation codes in digital computers |
US3657705A (en) * | 1969-11-12 | 1972-04-18 | Honeywell Inc | Instruction translation control with extended address prefix decoding |
US3654621A (en) * | 1969-11-28 | 1972-04-04 | Burroughs Corp | Information processing system having means for dynamic memory address preparation |
US3599186A (en) * | 1970-05-14 | 1971-08-10 | Ibm | Memory-centered computer system |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4032895A (en) * | 1974-08-21 | 1977-06-28 | Ing. C. Olivetti & C., S.P.A. | Electronic data processing computer |
US4205372A (en) * | 1974-09-25 | 1980-05-27 | Data General Corporation | Central processing unit employing microprogrammable control for use in a data processing system |
US4126896A (en) * | 1976-04-01 | 1978-11-21 | Tokyo Shibaura Electric Co., Ltd. | Microprogrammed large-scale integration (LSI) microprocessor |
US4173041A (en) * | 1976-05-24 | 1979-10-30 | International Business Machines Corporation | Auxiliary microcontrol mechanism for increasing the number of different control actions in a microprogrammed digital data processor having microwords of fixed length |
US4323964A (en) * | 1976-11-01 | 1982-04-06 | Data General Corporation | CPU Employing micro programmable control for use in a data processing system |
US4161026A (en) * | 1977-11-22 | 1979-07-10 | Honeywell Information Systems Inc. | Hardware controlled transfers to microprogram control apparatus and return via microinstruction restart codes |
US4307445A (en) * | 1978-11-17 | 1981-12-22 | Motorola, Inc. | Microprogrammed control apparatus having a two-level control store for data processor |
US4330823A (en) * | 1978-12-06 | 1982-05-18 | Data General Corporation | High speed compact digital computer system with segmentally stored microinstructions |
US4342078A (en) * | 1979-05-21 | 1982-07-27 | Motorola, Inc. | Instruction register sequence decoder for microprogrammed data processor and method |
EP0080901A3 (en) * | 1981-12-01 | 1986-04-02 | Honeywell Information Systems Inc. | Data processing apparatus |
EP0080901A2 (en) * | 1981-12-01 | 1983-06-08 | Honeywell Bull Inc. | Data processing apparatus |
US4897787A (en) * | 1986-02-26 | 1990-01-30 | Hitachi, Ltd. | Data processing system |
US4954943A (en) * | 1986-02-26 | 1990-09-04 | Hitachi, Ltd. | Data processing system |
US5187782A (en) * | 1986-02-26 | 1993-02-16 | Hitachi, Ltd. | Data processing system |
GB2203572A (en) * | 1987-03-24 | 1988-10-19 | Insignia Solutions Limited | Microprocessor emulation |
GB2203572B (en) * | 1987-03-24 | 1991-11-27 | Insignia Solutions Limited | Improvements in data processing means |
US5123096A (en) * | 1987-08-03 | 1992-06-16 | Masahito Matuo | Data processor with addressing mode decoding function |
EP0349124A2 (en) * | 1988-06-27 | 1990-01-03 | Digital Equipment Corporation | Operand specifier processing |
EP0349124A3 (en) * | 1988-06-27 | 1991-12-18 | Digital Equipment Corporation | Operand specifier processing |
US5500947A (en) * | 1988-06-27 | 1996-03-19 | Digital Equipment Corporation | Operand specifier processing by grouping similar specifier types together and providing a general routine for each |
US5361338A (en) * | 1988-10-14 | 1994-11-01 | Mitsubishi Denki Kabushiki Kaisha | Pipelined system for decomposing instruction into two decoding parts and either concurrently generating two operands addresses of merging decomposing decoding codes based upon the second operand |
US5542058A (en) * | 1992-07-06 | 1996-07-30 | Digital Equipment Corporation | Pipelined computer with operand context queue to simplify context-dependent execution flow |
Also Published As
Publication number | Publication date |
---|---|
IL44838A0 (en) | 1974-07-31 |
FR2232798A1 (en) | 1975-01-03 |
GB1434702A (en) | 1976-05-05 |
FR2232798B3 (en) | 1977-04-08 |
SE7407150L (en) | 1974-12-09 |
IT1014826B (en) | 1977-04-30 |
SE402991B (en) | 1978-07-24 |
DE2426874A1 (en) | 1975-01-02 |
IL44838A (en) | 1976-08-31 |
JPS5023543A (en) | 1975-03-13 |
CA1029472A (en) | 1978-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3958221A (en) | Method and apparatus for locating effective operand of an instruction | |
US3991404A (en) | Apparatus for carrying out macroinstructions in a microprogrammed computer | |
US4594682A (en) | Vector processing | |
US4118773A (en) | Microprogram memory bank addressing system | |
US4701842A (en) | Method and apparatus for avoiding excessive delay in a pipelined processor during the execution of a microbranch instruction | |
EP0138419A2 (en) | Central processing unit for a digital computer | |
US4124893A (en) | Microword address branching bit arrangement | |
JPS6322336B2 (en) | ||
US5008807A (en) | Data processing apparatus with abbreviated jump field | |
US4467415A (en) | High-speed microprogram control apparatus with decreased control storage requirements | |
US4251862A (en) | Control store organization in a microprogrammed data processing system | |
US4347566A (en) | Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip | |
US4070703A (en) | Control store organization in a microprogrammed data processing system | |
EP0062658A4 (en) | Stack for a data processor. | |
US4812971A (en) | Central processing unit for a digital computer | |
US5247624A (en) | Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out | |
US4893235A (en) | Central processing unit for a digital computer | |
JPS5822450A (en) | Microprogrammed data processing system | |
US4812970A (en) | Microprogram control system | |
US5124910A (en) | Microprogram control apparatus for generating a branch condition signal to be designated by a micro-branch instruction | |
JP2680828B2 (en) | Digital device | |
US4511983A (en) | Apparatus for controlling microinstructions stored in a data processing unit memory | |
JP2731618B2 (en) | emulator | |
EP0167333A2 (en) | Data processing apparatus with data type classifier | |
AU540728B2 (en) | Stack for a data processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ALLIED CORPORATION COLUMBIA ROAD AND PARK AVENUE, Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:BUNKER RAMO CORPORATION A CORP. OF DE;REEL/FRAME:004149/0365 Effective date: 19820922 |