Abstract:
Programs having a given instruction-set architecture (ISA) are executed on a multiprocessor system comprising a plurality of processors, for example of a VLIW type, each of said processors being able to execute, at each processing cycle, a respective maximum number of instructions. The instructions are compiled as instruction words of given length (L1 respectively L2) executable on a first processor (VLIW 1 respectively VLIW 2). At least some of the instruction words of given length are converted (IIU) into modified-instruction words executable on a second processor. The operation of modifying comprises in turn at least one operation chosen in the group consisting of:
splitting the instruction words into modified-instruction words; and entering no-operation (nop) instructions in the modified-instruction words.
Abstract:
A processing system for accessing first and second data types. The first data type is data supplied from a peripheral and the second data type is randomly accessible data held in a data memory. The processing system comprises a processor for executing instructions; a stream register unit connected to supply data from the peripheral to the processor; a FIFO connected to receive data from the peripheral and connected to the stream register unit by a communication path, along which the said data can be supplied from the FIFO to the stream register unit; and a memory bus connected between the data memory and the processor, across which the processor can access the randomly accessible data.
Abstract:
The program to be executed is compiled by translating it into native instructions of the instruction-set architecture (ISA) of the processor system (SILC 1, SILC 2), organizing the instructions deriving from the translation of the program into respective bundles in an order of successive bundles, each bundle grouping together instructions adapted to be executed in parallel by the processor system. The bundles of instructions are ordered into respective sub-bundles, said sub-bundles identifying a first set of instructions ("must" instructions), which must be executed before the instructions belonging to the next bundle of said order, and a second set of instructions ("can" instructions), which can be executed both before and in parallel with respect to the instructions belonging to said subsequent bundle of said order. There is defined a sequence of execution of the instructions in successive operating cycles of the processor system (SILC 1, SILC 2), assigning each sub-bundle to an operating cycle, thus preventing simultaneous assignment to the same operating cycle of two sub-bundles belonging to the first set ("must" set) of two successive bundles. The instructions of the sequence may be executed by the various processors of the system (SILC 1, SILC 2) in conditions of binary compatibility.
Abstract:
A procedure for translating instructions belonging to a first instruction set that can be executed on a processor of the ARM type into instructions belonging to a second instruction set that can be executed on a processor of the LX type comprising a core provides a first set of registers corresponding to the instructions that can be executed on a processor of the ARM type and a second set of registers corresponding to the instructions that can be executed on a processor of the LX type. Each register of said first set is mapped in a corresponding register of said second set designed to emulate the behaviour of the first register, obtaining a unique independent translation of the data of said first instruction set into said second instruction set. Said translation is performed by means of a translation device external to the core of the processor of the LX type, said core remaining therefore unaltered, in particular with reference to its issue logic, and the translation operating in the absence of access to the resources of said core, by means of interception, by the translation device, of the accesses of the core to the storage area reserved to the ARM instructions. Preferential application is to an ST-200 LX microprocessor.
Abstract:
A process for estimating the noise level of a sequence of images comprises the operations of:
producing a local estimate (16) of the noise level of the said images, creating (18) the histogram of the said estimate, deriving (20) at least one parameter of the said histogram, and determining (22), by calculation or by means of an empirical relation, at least one noise level parameter on the basis of the said at least one parameter derived from the histogram.
The corresponding device can be incorporated, for example, in an MPEG-2 encoder, where the parameter (NL) identifying the noise level is used for the adjustment of the internal variables of the encoding process.
Abstract:
A method of filtering noise of digital pictures comprises selecting a first set of pixels (WORKING_WINDOW) constituted by the union of a pixel of the current picture to be filtered (P) and of a second set of pixels temporally and spatially near (PIXEL_NEAR) to said pixel, calculating a certain number (N) of extended sums (SUMk j ) of values assumed by as many pre-established weight functions of the intensity of a selected video component (k j ) on the first set of pixels (WORKING_WINDOW). The pixels of the second set of pixels near (PIXEL_NEAR) can belong to the current picture or to a preceding picture. Several noise filters for digital pictures implementing the method of the invention are also presented.