摘要:
A data processing apparatus and method of handling conditional instructions in such a data processing apparatus are provided. The data processing apparatus has a pipelined processing unit for executing instructions including at least one conditional instruction from a set of conditional instructions, and a register file having a plurality of registers operable to store data values for access by the pipelined processing unit when executing the instructions. A register specified by an instruction may be either a source register holding a source data value for that instruction or a destination register into which is stored a result data value generated by execution of that instruction. The register file has a predetermined number of read ports via which data values can be read from registers of the register file. The pipelined processing unit is operable when executing the at least one conditional instruction to produce a result data value which, dependent on the existence of the condition specified by that conditional instruction, represents either the result of the computation specified by that conditional instruction or a current data value stored in the destination register for that conditional instruction. Further, each conditional instruction in the set is constrained to specify a register that is both a source register and a destination register for that conditional instruction, thereby reducing the minimum number of read ports required to support execution of that conditional instruction by the pipelined processing unit.
摘要:
A data processing apparatus and method are provided for moving data between registers and memory. The data processing apparatus comprises a register data store having a plurality of registers operable to store data elements. A processor is operable to perform in parallel a data processing operation on multiple data elements accessed in at least one of the registers. Access logic is operable in response to a single access instruction to move a plurality of data elements between specified registers and a continuous block of memory in which data elements are stored as an array of structures having a structure format, the structure format having a plurality of components. The single access instruction identifies the number of components in the structure format, and the access logic is further operable to rearrange the plurality of data elements as they are moved such that each specified register stores data elements of one component whilst in memory the data elements are stored as the array of structures.
摘要:
A data processing apparatus is disclosed. The apparatus comprises a register data store comprising a plurality of registers. The apparatus further comprises a data processor operable to perform in parallel a data processing operation on data elements; and decode logic responsive to a single vector-by-scalar instruction to control the data processor so as to specify one of the plurality of registers as a first source register operable to store a plurality of source data elements, to specify another of the plurality of registers as a second source register operable to store a plurality of selectable data elements, to select one of said selectable data elements as a scalar operand and to perform a vector-by-scalar operation in parallel on the source data elements, each vector-by-scalar operation causing a resultant data element to be generated from a source data element and the scalar operand. By providing a source register which contains selectable data elements it is possible to select one of those data elements as a scalar operand and to perform multiple vector-by-scalar operations in parallel using the same scalar operand on all source data elements.
摘要:
A data processing apparatus and method are provided for moving data between registers and memory. The data processing apparatus comprises a register data store having a plurality of registers operable to store data elements. A processor is operable to perform in parallel a data processing operation on multiple data elements occupying different lanes of parallel processing in at least one of the registers. Access logic is provided which is responsive to a single access instruction to move a plurality of data elements between a chosen one of the lanes in specified registers and a structure within memory having a structure format, the structure format having a plurality of components. The single access instruction identifies the number of components in the structure format, and the access logic is operation to arrange the plurality of data elements as they are moved such that data elements of different components are stored in different specified registers within the chosen lane whilst in memory the data elements are stored as the structure.
摘要:
A table lookup extension instruction is provided in which index values stored within an index register D2 are used to select data elements stored within one or more table registers D0, D1 for storage into corresponding positions within a result register D3. Out-of-range index values result in the corresponding locations within the result register being left unchanged U. In this way, an offset can be applied to index values held and then those index values reused with the table registers D0, D1 being reloaded with a different portion of a table so as to give the effect of a larger table than can be directly supported by the number of table registers available.
摘要:
The present invention provides a data processing apparatus and method for performing aligned access operations. The data processing apparatus comprises a register data store having a plurality of registers operable to store data elements, and a processor operable to perform a data processing operation on one or more data elements accessed in at least one of the registers. Further, access logic is provided which is operable in response to an access instruction to perform an access operation in order to move a number of data elements between specified registers and a portion of a memory, the portion having a start address specified by the access instruction. Further, the access instruction has an alignment specifier associated therewith which is settable either to a first value or one of a plurality of second values. The first value indicates that the start address is to be treated as byte aligned, and each of the second values indicates a different predetermined alignment that the start address is to be treated as conforming to. The access logic is then operable to adapt the access operation in dependence on the value of alignment specifier. This provides significantly improved flexibility in the performance of access operations.
摘要:
A liquid dispensing apparatus for dispensing droplets of a liquid, and methods for measuring various fluid parameters of the liquid are described. The liquid dispensing apparatus comprises a container having a chamber for holding a liquid. An orifice is positioned at an end of the chamber for dispensing droplets of the liquid, the orifice being configured to retain the liquid in the container if the container is positioned with the orifice facing in a downward direction. An acoustic transducer means is at least partially positioned in the chamber for periodically propagating a focused acoustic beam toward the orifice and through at least some of the liquid while the liquid is contained in the chamber, with the focused acoustic beam being capable of causing a droplet of the liquid to be ejected from the orifice when a free surface of the liquid is within the depth of field of the acoustic transducer means. Fluid parameters that can be measured include the sound velocity in the liquid, liquid level and liquid concentration, liquid acoustic impedance, liquid density and ultrasonic viscosity.
摘要:
A test system, method and a computer program product are provided for testing software to be run on a data processing apparatus having a plurality of processors operable to share access to a memory system, where at least a part of the memory system has a memory ordering type which allows memory access requests at that part to be processed out of order from an original program order. The test system comprises a processor simulator for each processor of the data processing apparatus, each processor simulator being operable to execute a sequence of instructions in program order. Further, at least one access buffer unit is provided, each access buffer unit being associated with one of the processor simulators and being operable to receive memory access requests issued by that processor simulator when executing memory access instructions within the sequence of instructions. Each access buffer unit comprises at least one buffer operable to store memory access requests issued by the associated processor simulator, and a controller operable to apply an eviction policy to determine an order in which the memory access requests are output from the access buffer unit to the memory system. The eviction policy is configurable such that the memory ordering type of said part of the memory system is exercised to a degree exceeding that expected within the data processing apparatus, in order to seek to provoke an occurrence of any bug in the software resulting from an assumption of memory ordering which is not appropriate for the data processing apparatus.
摘要:
Playing cards having a deck divided into a first suit of threat cards and a second suit of tool cards. Play is conducted by each player concocting a story based on the cards, for instance, a defense, using what is shown on the tool card or cards the player has, against the threat shown on the threat card the player has. Points may be awarded for creativity in telling a story with the winner having the most points at the end of play, or alternatively, players may play for the fun of creating stories.
摘要:
A data processing apparatus comprising a plurality of data processors, each data processor comprising: first logic operable in a first clock domain and further logic operable in a second clock domain, said first and second clock domains being asynchronous with each other; a synchroniser operable to synchronise a signal processed by said first logic to produce a signal synchronised to said second clock domain; a synchronised signal output operable to export from said data processor said synchronised signal output from said synchroniser; and a signal input operable to import a signal to said data processor, said data processor being operable to route said imported signal to said further logic; wherein said plurality of data processors are arranged to operate in parallel with each other and said data processing apparatus further comprises: combining logic arranged to receive said exported synchronised signals from each of said plurality of data processors and to combine said exported synchronised signals to produce a resultant signal, said resultant signal being routed to each of said signal inputs of said plurality of data processors.