Patents Assigned to SIROYAN LIMITED
-
Publication number: 20020144092Abstract: A processor is capable of executing a software-pipelined loop. A plurality of registers (20) store values produced and consumed by executed instructions. A register renaming unit (32) renames the registers during execution of the loop. In the event that a software-pipelined loop requires zero iterations, the registers are renamed in a predetermined way to make the register allocation consistent with that which occurs in the normal case in which the loop has one or more iterations. This is achieved by carrying out an epilogue phase only of the loop with the instructions in the loop schedule turned off so that their results do not commit. The issuance of the instructions in the epilogue phase brings about the predetermined renaming automatically. The number of epilogue iterations may be specified in a loop instruction used to start up the loop.Type: ApplicationFiled: January 29, 2002Publication date: October 3, 2002Applicant: SIROYAN LIMITED.Inventors: Nigel Peter Topham, Raymond Malcolm Livesley
-
Publication number: 20020144078Abstract: A processor, and a method of accessing memory in a processor, are disclosed. The processor is arranged to generate virtual addresses for conversion into physical addresses for accessing physical memory, the physical memory comprising a first memory portion (101), and a second memory portion which is part of the same memory level as the first memory portion. When a virtual address is generated, part of that virtual address is converted into a partial physical address and a memory location in the first memory portion (101) is accessed using the partial physical address. In parallel with the memory access, a check may be carried out to determine whether the partial physical address is correct.Type: ApplicationFiled: March 1, 2002Publication date: October 3, 2002Applicant: SIROYAN LIMITEDInventors: Nigel Peter Topham, Seow Chuan Lim
-
Publication number: 20020120831Abstract: Processors comprising a plurality of pipelines are disclosed, each pipeline having a plurality of pipeline stages (142, 146) for executing an instruction on successive clock cycles. The processors include distributed stall control circuitry (148, 150, 152, 154) which allow an instruction in one pipeline to become temporarily out of step with an instruction in another pipeline. This may allow time for a global signal, such as a global stall signal, to be distributed.Type: ApplicationFiled: November 6, 2001Publication date: August 29, 2002Applicant: Siroyan LimitedInventors: Kar-Lik Kasim Wong, Nigel Peter Topham
-
Publication number: 20020116436Abstract: A processor which is switchable between a first execution mode (such as a scalar mode) and a second execution mode (such as a VLIW mode) is disclosed. The processor has a first processor context when in the first execution mode and a second processor context, different from the first processor context, when in the second execution mode. The processor generates an exception when the processor attempts to change from one execution mode to the other. When the processor switches to a thread of execution which is in the first execution mode, or when the processor switches to a thread of execution which was the last thread to be in the second execution mode, only the first processor context is preserved. The processor may be arranged such that the number of threads that may be in the second execution mode at any one time is less than the total number of threads that may be active on the processor at any one time.Type: ApplicationFiled: February 11, 2002Publication date: August 22, 2002Applicant: SIROYAN LIMITEDInventor: Robert Allan Whitton
-
Publication number: 20020091996Abstract: A processor, operable to execute instructions on a predicated basis, includes a series of predicate registers (135), a control information holding unit (131) and a plurality of operating units (133). Each predicate register of the series (135) is switchable between at least respective first and second states and each is assignable to one or more predicated-execution instructions. The control information holding unit (131) holds items of control information which correspond respectively to the predicate registers, and each operating unit also corresponds individually to one of the predicate registers. Each operating unit has a first control input connected to the control information holding unit (131) for receiving the control-information item corresponding to its unit's own corresponding predicate register and also has a second control input connected for receiving the control-information item corresponding to a further one of the predicate registers.Type: ApplicationFiled: May 22, 2001Publication date: July 11, 2002Applicant: Siroyan LimitedInventor: Nigel Peter Topham
-
Publication number: 20020056036Abstract: A processor has respective first and second external instruction formats (F1, F2) in which instructions (add, load) are received by the processor. Each instruction has an opcode (e.g. 1011) which specifies an operation to be executed. Each external format has one or more preselected opcode bits (F1:i+1˜i+4; F2:i+1˜i+3) in which the opcode appears. The processor also has an internal instruction format (G1) into which instructions in the external formats are translated prior to execution of the operation.Type: ApplicationFiled: July 11, 2001Publication date: May 9, 2002Applicant: SIROYAN LIMITEDInventor: Nigel Peter Topham
-
Publication number: 20010047466Abstract: Instructions of a program are stored in compressed form in a program memory (12). In a processor which executes the instructions, a program counter (50) identifies a position in the program memory. An instruction cache (40) has cache blocks, each for storing one or more instructions of the program in decompressed form. A cache loading unit (42) includes a decompression section (44) and performs a cache loading operation in which one or more compressed-form instructions are read from the position in the program memory identified by the program counter and are decompressed and stored in one of the said cache blocks of the instruction cache. A cache pointer (52) identifies a position in the instruction cache of an instruction to be fetched for execution. An instruction fetching unit (46) fetches an instruction to be executed from the position identified by the cache pointer.Type: ApplicationFiled: May 22, 2001Publication date: November 29, 2001Applicant: SIROYAN LIMITEDInventor: Nigel Peter Topham
-
Publication number: 20010021972Abstract: Mapping circuitry (40) comprises a first candidate output value producing unit (42) which produces a first candidate output value (C1) that differs by a first offset value (x) from a received input value (r). A second candidate output value producing unit (44) operates, during operation of the first candidate output value producing unit (42) to produce the first candidate output value (C1), to produce a second candidate output value (C2) that differs by a second offset value (y) from the received input value (r). The first and second offset values (x, y) are such that a difference between them is equal to a difference between respective output-range limit values defining the limits of a preselected range of allowable values, and such that, for any input value (r) within a preselected range of allowable input values, one of the first and second candidate output values (C1, C2) is within the preselected output-value range and the other of those two values is outside that range.Type: ApplicationFiled: February 16, 2001Publication date: September 13, 2001Applicant: SIROYAN LIMITEDInventor: Nigel Peter Topham
-
Publication number: 20010016901Abstract: A processor, such as a VLIW processor capable of software-pipeline execution, includes an instruction issuing unit 10 for issuing, in a predetermined sequence, instructions to be executed. The sequence of instructions includes preselected value-producing instructions which, when executed, produce respective values. Instruction executing units 14, 16, 18 execute the issued instructions. A register file 20 has a set of registers, for storing values produced by the executed instructions. In operation the processor assigns the values produced by the value-producing instructions respective sequence numbers according to the order of issuance of their respective value-producing instructions. Each produced value is allocated one of the registers, for storing that produced value, in dependence upon the sequence number assigned to that value. The registers may be renamed each time a value-producing instruction is issued.Type: ApplicationFiled: February 6, 2001Publication date: August 23, 2001Applicant: SIROYAN LIMITEDInventor: Nigel Peter Topham