1. A method of performing data and pointer compression, comprising: in a buffer which is formed between a processor and a level one cache and stores plural tags and full-word values associated with said tags: when said buffer is presented with an address, breaking said address into a line number which indexes a set of said full-word values, and a tag which is used as a key to determine whether a value in said set of full-word values comprises a value associated with the presented address; if a tag in said presented address matches a tag in said buffer, returning a full-word value in said buffer which is associated with said tag, and storing the returned full-word value in a destination register of an instruction which originated said presented address; and if a tag in said presented address does not match a tag in said buffer, generating a fault and branching control to a pre-defined handler, wherein said level one cache stores compressed and uncompressed data, wherein said processor accesses said level one cache and executes a set of instructions for operating on said compressed data, and executes another set of instructions which are different than said set of instructions, for operating on said uncompressed data, and wherein said set of instructions and said another set of instructions comprise load instructions and store instructions.