摘要:
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.
摘要:
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 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.
摘要:
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 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 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.
摘要:
A branch prediction mechanism within a pipelined processing apparatus uses a history value HV which records preceding branch outcomes in either a first mode or a second mode. In the first mode respective bits within the history value represent a mixture of branch taken and branch not taken outcomes. In the second mode a count value within the history value indicates a count of a contiguous sequence of branch taken outcomes.
摘要:
A processor 6 is provided with an instruction decoder 18 which is responsive to memory access instructions to determine whether the base register value being used matches a null value and if such a match occurs then branches to a null value exception handler.