Patents Assigned to SIROYAN LIMITED
  • Publication number: 20020144078
    Abstract: 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: Application
    Filed: March 1, 2002
    Publication date: October 3, 2002
    Applicant: SIROYAN LIMITED
    Inventors: Nigel Peter Topham, Seow Chuan Lim
  • Publication number: 20020144092
    Abstract: 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: Application
    Filed: January 29, 2002
    Publication date: October 3, 2002
    Applicant: SIROYAN LIMITED.
    Inventors: Nigel Peter Topham, Raymond Malcolm Livesley
  • Publication number: 20020120831
    Abstract: 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: Application
    Filed: November 6, 2001
    Publication date: August 29, 2002
    Applicant: Siroyan Limited
    Inventors: Kar-Lik Kasim Wong, Nigel Peter Topham
  • Publication number: 20020116436
    Abstract: 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: Application
    Filed: February 11, 2002
    Publication date: August 22, 2002
    Applicant: SIROYAN LIMITED
    Inventor: Robert Allan Whitton
  • Publication number: 20020091996
    Abstract: 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: Application
    Filed: May 22, 2001
    Publication date: July 11, 2002
    Applicant: Siroyan Limited
    Inventor: Nigel Peter Topham
  • Publication number: 20020056036
    Abstract: 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: Application
    Filed: July 11, 2001
    Publication date: May 9, 2002
    Applicant: SIROYAN LIMITED
    Inventor: Nigel Peter Topham
  • Publication number: 20010047466
    Abstract: 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: Application
    Filed: May 22, 2001
    Publication date: November 29, 2001
    Applicant: SIROYAN LIMITED
    Inventor: Nigel Peter Topham
  • Publication number: 20010021972
    Abstract: 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: Application
    Filed: February 16, 2001
    Publication date: September 13, 2001
    Applicant: SIROYAN LIMITED
    Inventor: Nigel Peter Topham
  • Publication number: 20010016901
    Abstract: 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: Application
    Filed: February 6, 2001
    Publication date: August 23, 2001
    Applicant: SIROYAN LIMITED
    Inventor: Nigel Peter Topham