I am reading OS Concepts dinosaur book which says, "Each entry in the TLB consists of two parts: a key (or tag) and a value. When the associative memory is presented with an item, the item is compared with all keys simultaneously."
I checked How does a TLB and data cache work? but it does not say anything about the implementation that allows this parallel checking of the keys.
I read something about a parallel hash table here: http://www.cs.cmu.edu/afs/cs/academic/class/15210-s12/www/lectures/lecture27.pdf
Is this the basic idea? The insertion of a key outputs a frame number and this could either be a hit or miss?