×

Sensor-network processors using event-driven architecture

  • US 7,788,332 B2
  • Filed: 05/06/2005
  • Issued: 08/31/2010
  • Est. Priority Date: 05/06/2004
  • Status: Active Grant
First Claim
Patent Images

1. An event-driven processor for executing tasks in response to the occurrence of one or more events, said processor comprising:

  • a processor core that includes;

    a memory;

    at least one execution unit;

    an event queue for storing one or more event tokens, each of which contains event identification information that indicates an event that has occurred which requires that a corresponding task is to be executed by said execution unit and a location in said memory where one or more instructions corresponding to the task to be executed by said execution unit is located;

    a fetch for sequentially processing each of said event tokens in said event queue by carrying out the processing steps of;

    retrieving a first of said event tokens from said queue;

    employing said event identification information to locate and fetch one or more instructions from said memory for execution by said execution unit, said instructions corresponding to the task to be executed;

    atomically delivering said instructions to said execution unit for execution until a done instruction is fetched from said memory which indicates that all of the instructions for said task have been fetched and delivered to said execution unit; and

    when said done instruction is fetched, repeating said processing steps for a next event token if present in said queue, but if said queue is empty, ceasing further fetching of instructions from said memory until another event token is detected in said event queue by said fetch;



    a message coprocessor for generating external event tokens in response to communications received from one or more external devices and placing said external event tokens in said event queue for processing by said processor core; and

    a timer coprocessor for generating an internal event token when a timeout occurs and placing said internal event token in said event queue to cause said fetch to retrieve instructions corresponding to said internal event token from said memory and deliver said instructions to said execution unit for execution;

    whereby, said execution unit periodically transitions from an idle state to an active state even when no external event tokens have been placed into said event queue by said message coprocessor.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×