Abstract:
A computer addressing mode and memory access method rely on a memory segment identifier and a memory segment mask for indicating memory locations. In this addressing mode, a processor receives an instruction comprising the memory segment identifier and memory segment mask. The processor employs a two-level address decoding scheme to access individual memory locations. Under this decoding scheme, the processor decodes the memory segment identifier to select a particular memory segment. Each memory segment includes a predefined number of memory locations. The processor selects memory locations within the memory segment based on mask bits set in the memory segment mask. The disclosed addressing mode is advantageous because it allows non-consecutive memory locations to be efficiently accessed.
Abstract:
A method and apparatus for including in a processor instructions for performing logical-comparison and branch support operations on packed or unpacked data. In one embodiment, a processor is coupled to a memory. The memory has stored therein a first data and a second data. The processor performs logical comparisons on the first and second data. The logical comparisons may be performed on each bit of the first and second data, or may be performed only on certain bits. For at least one embodiment, at least the first data includes packed data elements, and the logical comparisons are performed on the most significant bits of the packed data elements. The logical comparisons may include comparison of the same respective bits of the first and second data, and also includes logical comparisons of bits of the first data with the complement of the corresponding bits of the second data. Based on these comparisons, branch support actions are taken. Such branch support actions may include setting one or more flags, which in turn may be utilized by a branching unit. Alternatively, the branch support actions may include branching to an indicated target code location.
Abstract:
A matrix data processor is implemented wherein data elements are stored in physical registers (720). After being stored in the physical registers, the data elements are then treated as matrix elements (730 and 740). Matrix operations are then performed on the elements to generate results (750), which are stored (770) in an identified (760) destination matrix.
Abstract:
A processor (10) for processing a progam (26) with commands, comprising a mother program with a sub-program branch instruction (28) and a sub-program which is embodied in response to said sub-program branch instruction (28). The processor comprises a command processing device which, when the sub-program branch information (28) occurs inside the mother program, is configured in such a way that security information on the data required according to the processing of the sub-program in the mother program can be extracted from the sub-program branch instruction (28), the data required according to the processing of the sub-program in the mother program can be secured on the basis of said security information, a target address referring to the sub-program can be extracted from the sub-program branch information and, on the basis of the target address, the processing of the program can be continued with the sub-program.
Abstract:
An operation apparatus for performing a series of operations for an input and outputting the result. The apparatus can perform operation at a high speed and flexibly. The apparatus has a plurality of operation units for selecting a predetermined input from a plurality of inputs, performing a predetermined operation, and outputting the result. The output of each operation unit is used as one of the inputs of another operation unit.
Abstract:
An apparatus for reducing CPU latency by reducing CPU bus read/write cycles, the apparatus includes a hardware register capable of testing data for one or more validity bits. A CPU is in communication with the hardware register during a first bus cycle and the CPU directs the hardware register to drive the data substantially simultaneously to the CPU and a second register. The data validity signal is performed in close proximity to the data transfer to the CPU and the second hardware device and the validity signal is forwarded to the second register without a subsequent bus cycle instruction to the second register from the CPU.
Abstract:
A processor has at least two sets of registers. The first set stores a matrix of data, and the second set stores a transposed copy of the matrix of data. When any portion of any row of the first set is modified, the corresponding portion of the column of the transposed copy in the second set is also automatically modified. A method of using two sets of registers for matrix processing by a processor includes storing a matrix of data into a first set of registers, the first set of registers having a first number of registers, each register comprising a first number of storage units, each storage unit storing an element of the matrix, and transposing the matrix of data into a second set of registers, the second set of registers having a second number of registers, each register comprising a second number of storage units. The method also includes referencing one of the first set of registers to operate on a row of the matrix of data, and referencing one of the second set of registers to operate on a column of the matrix of data.
Abstract:
A processor executes an instruction set including instructions in which a register specifier is implicitly derived, based on another register specifier. One technique for implicitly deriving a register specifier is to add or substract one from a specifically-defined register specifier. Implicit derivation of a register specifier is selectively implemented for some opcodes. A decoder decodes instructions that use implicitly-derived register specifiers and reads the explicitly-defined register. The decoder generates pointers both to the explicitly-defined register and to the implicitly-derived register. In other embodiments, a pointer to registers within a register file includes an additional bit indicating that a register read is accompagnied by a read of an implicitly-derived register.
Abstract:
A hardware system provides a programmable method for addressing expanded memory specification (EMS) registers (20, 30) in a personal computing system functioning with an MS-Dos operating system or the like. The system provides hardware flexibility for addressing EMS registers at different addresses than the standard LIM EMS specification calls for, to permit utilization of register addresses in otherwise unavailable locations. The address translations are effected through hardware (Figure 5-all); so that no additional delays in the circuit operation occur.