A compute engine includes a central processing unit coupled to a coprocessor.
The
coprocessor includes a sequencer coupled to a set of application engines for performing
operations assigned to the compute engine. The sequencer is coupled to application
engines through a set of data, enable, and control interfaces. An arbiter couples
the sequencer and application engines to memory. Alternatively, the coprocessor
may include multiple sequencers, with each sequencer being coupled to a different
set of application engines. One set of application engines includes a media access
controller for communicating with a network and a data transfer engine coupling
the media access controller to the arbiter. In one implementation, application
engines facilitate different network services, including but not limited to: 1)
virtual private networking; 2) secure sockets layer processing; 3) web caching;
4) hypertext mark-up language compression; 5) virus checking; 6) firewall support;
and 7) web switching.