1. A virus processing system, the virus processing system comprising: a virus co-processor; a first memory associated with the virus co-processor and communicably coupled to the virus co-processor via a first memory interface, wherein the first memory includes a first virus signature compiled for execution on the virus co-processor, wherein the first virus signature includes at least one primitive instruction and at least one Content Pattern Recognition (CPR) instruction; a general purpose processor, wherein the general purpose processor is communicably coupled to the virus co-processor; a second memory associated with the general purpose processor and communicably coupled to the virus co-processor via a second memory interface and to the general purpose processor, wherein the second memory includes a second virus signature compiled for execution on the general purpose processor and wherein the second memory includes a page directory and a page table containing information for translating virtual addresses to physical addresses; wherein the virus co-processor is operable to retrieve the first virus signature stored within the first memory through an instruction cache; wherein the virus co-processor is operable to retrieve a data segment to be scanned for viruses stored within the second memory through a data cache, wherein retrieving the data segment to be scanned for viruses stored to the second memory by the co-processor is based on a virtual address and cached information, stored within one or more translation lookaside buffers local to the virus co-processor, relating to a plurality of most recently used entries of the page directory and the page table; and wherein the instruction cache and the data cache are separate.