2. The method of claim 1 , further comprising the step of: caching, indivisibly, the metadata tag with every word in a plurality of caches, wherein the metadata tag is a pointer-sized tag and the pointer-sized tag is uninterpreted at a hardware level.
1. A computer-implemented method on a non-transitory medium for metadata processing, comprising executing on a processor the steps of: providing a pipeline processor including a plurality of stages, wherein a final stage is a writeback stage; defining a number of security policies on data flowing within the pipeline processor; adding metadata tags to the data in a processor state; introducing a programmable metadata processing unit (PUMP) immediately before the final stage working in parallel with the data, and wherein the PUMP does not create additional stalls in the pipeline processor; moving metadata through the plurality of stages and the PUMP; enforcing a set of policies such that the metadata is unbounded and software programmable and adapted to be applicable to a plurality of metadata processing policies; and associating, indivisibly, a metadata tag with every word in each state of the pipeline processor.