Suppose a computer uses 48-bit byte-addressable memory address, and it has a main memory of 16G bytes and a one-level cache of 1K bytes (not counting the space for tags nor dirty flags), where a cache block is composed of 8 words and a word consists of 8 bytes. Note: 1G denotes the number 2^30 and 1K denotes the number 2^10.
Assume that the cache is initially empty and managed with the associative mapping and first-in-first-out (FIFO) replacement. Suppose that a program fetches 64 every other word starting at the word address 0 (i.e., the 0th, 2nd, 4th,.... words), and then fetches 64 every other word starting at the word address 1 (i.e., the 1st, 3rd, 5th, .... words). What is the cache hit rate for running the program once?