EP0333365A2

Method and apparatus for handling asynchronous memory management exceptions by a vector processor.

Abstract

A data processing system handles memory management exceptions caused by a faulting vector instruction in a vector processor by halting the execution of the faulting vector in­struction being executed when the exception occurred and by setting the state information for the vector processor to acknowledge the presence of the exception and to include informa­tion about the suboperation of the vector instruction being exe­cuted when the exception occurred. The scalar processor is not interrupted at this time, however. Any other vector instructions executing simultaneously with the faulting vector instruction are allowed to continue so long as those instructions do not require data from the faulting instruction. The faulting partially com­pleted vector instruction resumes execution after the operating system has processed the memory management exception.

EP0333365A2, drawing sheet 1
Sheet 1 of 16

Term

Term ended

Projected expiry passed 6 March 2009, 17.6 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

25 claims: 3 independent, 22 dependent

  1. 1
    A data processing system containing a memory and being capable of processing vector instructions and scalar instruc­tions, said vector instructions involving data processing opera­tions on vector quantities and accesses to said memory, and said scalar instructions involving data processing operations on non-vector quantities, said data processing system comprising:scalar processing means for executing said scalar instruc­tions;vector processing means for executing said vector instruc­tions simultaneously with the execution of said scalar instruc­tions by said scalar processing means, said vector instructions being executed by performing a plurality of suboperations and said vector processing means including state means for holding vector state information repre­senting an execution state of said vector processing means, exception detecting means for indicating the presence of a memory management exception occurring during one of said suboperations of a faulting one of said vector pro­cessing instructions, and vector halt means, coupled to said exception detecting means, for stopping the execution of said faulting vector processing instruction by said vector processing means, without interrupting the execution of said scalar instruc­tions by said scalar instruction processing means, when said exception detecting means indicates the presence of said memory management exception;and exception record means for recording into said state means as part of said vector state information an indication of the oc­currence of said memory management exception and sufficient in­formation about the state of said vector processing means such that said vector processing means can later resume execution at the one of said suboperations of said faulting vector processing instruction.
  2. 11
    A data processing system comprising a memory containing vector instructions, scalar instruc­tions, operands identified by said vector and scalar instruc­tions, and state information, said vector instructions involving data processing operations on vector quantities, said scalar in­structions involving data processing operations on non-vector quantities, and state information corresponding to processes run­ning on said data processing system, said data processing system comprising:a scalar processor for executing said scalar instructions;a vector processor for executing said vector instructions simultaneously with the execution of said scalar instructions by said scalar processor by performing a plurality of suboperations, said vector processor including a vector state register holding as vector state infor­mation indicators of the execution state of the vector pro­cessor, an indicator of the occurrences of any memory man­agement exceptions, and the suboperation being performed when a memory management exception occurs, control logic for changing the memory management exception occurrence indicator when a memory management exception occurs, for halting the execution of a faulting one of said vector instructions in said vector processor when a memory management exception occurs, and for storing into the vector state register information regarding the suboperation being performed when the memory management exception occurred;and operating system control means for processing a routine cor­responding to the memory management exception when another vector instruction is to be executed.
  3. 20
    A method of responding to memory management exceptions in a vector processor executing vector instructions simulta­neously with a scalar processor executing scalar instructions, the vector instructions involving data processing operations on vector quantities and the scalar instructions involving data pro­cessing on non-vector quantities, and the method comprising the steps of:detecting the occurrence of a memory management exception during the execution of a faulting one of the vector instructions by said vector processor;halting the vector processor's execution of the faulting vector instruction when the memory management exception is detected without interrupting the scalar processor's execution of scalar instructions;and storing state information about the vector processor, including information about the occurrence of the memory manage­ment exception when the exception occurred, the state information identifying the point of execution of the faulting vector in­struction where the exception occurred.