May you describe texture cache in general?

I need the main idea.
I think that: Texture is cached by tiles (x, y dimensions). There is one cache per one multiprocessor. The cache per one texture is less when there are more textures.
Am I right? I need this info cause I want to map the binary tree into texture, and traverse it more effectively (in terms of texfetches). Maybe it would be beter to enumerate vertexes deep or wide or smth mix.