1. In a computer system comprising a memory, an input/output (I/O) bus coupled to said memory, and a plurality of I/O devices coupled to said I/O bus, a streaming cache for caching data being transferred between said memory and said I/O devices during read and write operations, said streaming cache comprising: a) cache data array means comprising at least one cache data array having a plurality of cache lines, wherein each cache line having at least two cache line segments, for caching said data being transferred between said memory and said I/O devices during read and write operations including data prefetched from said memory in anticipation of being transferred to said I/O devices during read operations, each cache line segment including a plurality of data bytes, each of said cache lines being mapped to a memory page; b) first cache tag array means comprising a parent cache tag array having a plurality of parent cache tag entries identifying said cache lines, one parent cache tag entry per cache line, for describing data cached in said cache lines, each of said parent cache tag entries describing common attributes of data cached in the cache line segments of the identified cache line; c) second cache tag array means comprising at least one child cache tag array having a plurality of child cache tag entries used to identify said cache line segments, one child cache tag entry per cache line segment, for describing data cached in said cache line segments, each of said child cache tag entry describing unique attributes of data cached in its corresponding cache line segment; d) control means coupled to said I/O bus, said cache data array means, said first and second cache tag array means for responding to read and write operations from and to said memory by said I/O devices using said at least one cache data array, and said parent and child cache tag arrays.