The among of storage required for the tag array is determined by the number of lines in the cache, the number of tag bits required for each entry, and whether any additional bits are required to record whether the line is dirty and how recently it has been referenced. Using the terminology of Fig. 9-5, the n bits used to indicate which byte within a cache line is being referenced and the m bits used to select a set within the cache do not need to be included in the tag field, so the number of bits in each tag field is equal to the width of the addresses used by the machine, minus (n + m). Adding in the valid bit and any dirty or recently used bits gives the width of the tag entry, which can then be multiplied by the number of lines in the cache to find the amount of storage required for the tag array.