IL155298A

Locking source registers in a data processing apparatus

Abstract

This record has no abstract on file.

IL155298A, drawing sheet 1
Sheet 1 of 15

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

16 claims: 3 independent, 13 dependent

  1. 1
    A data processing apparatus, comprising:a processing unit comprising a pipeline for executing a sequence of instructions, said processing unit having a first mode of operation and a second mode of operation;a set of source registers for storing source data required by the processing unit when executing instructions in the sequence;a locking mechanism for locking source registers dependent on configurable criteria, the configurable criteria being chosen to ensure that source registers still required for completing execution of an instruction in the pipeline are locked to prevent predetermined types of access by a subsequent instruction, the subsequent instruction only being able to enter the pipeline if the source registers relevant to that instruction can be accessed as required by the instruction;wherein, the first mode of operation, the processing unit, responsive to a determination of at least one exception conditions during execution of an instruction, invoking a process external to the pipelined execution unit to enable execution of the instruction to be completed;in the second mode of operation, the processing unit completing execution of an instruction within the pipeline even if the presence of said at least one exception conditions is determined;and wherein the locking mechanism altering the configurable criteria dependent on the mode of operation of the processing unit, such that a reduction in the number of source registers being locked can be achieved in the second mode of operation.
  2. 9
    A data processing apparatus as claimed in claim. 1, wherein the process external to the pipeline is either support code or a user-enabled exception handling routine.
  3. 16
    A method of operating a data processing apparatus having a processing unit comprising a pipeline for executing a sequence of instructions, and a set of source registers for storing source data required by the processing unit when executing instructions in the sequence, the method comprising the steps of:(i) locking source register dependent on configurable criteria, the configurable criteria being chosen to ensure that source registers still required for completing execution of an instruction in the pipeline are locked to prevent predetermined types of access by a subsequent instruction, the subsequent instruction only being able to enter the pipeline if the source registers relevant to that instruction can be accessed as required by the instruction;(ii) selecting a first or a second mode of operation for the processing unit, wherein, in the first mode of operation, upon determination of at least one exception condition during execution of an instruction, invoking a process external to the pipelined execution unit to enable execution of the instruction to be completed, and, in the second mode of operation, completing execution of an instruction within the pipeline even if the presence of said at least one exception conditions is determined;and (iii) altering the configurable criteria dependent on the mode of operation of the processing unit, such that a reduction in the number of source registers being locked can be achieved in the second mode of operation.