calculate the effective (average) access time (E AT) of this system
I would approach it this way : Consider 1000 requests made by the processor - the number arrived at by ensuring whole number of requests to each storage. 90 % or 900 of those are served by the cache. Of the 10 % or 100 which are not, only 1 % or a single request faces a page fault and 99 are served by main memory. 

The Expected time per request = ( 900 * 40 + 99 * 200 + 20000 ) / 1000 = 75.8 ns.

The speedup due to the cache is based on the ratio of number of cycles spent on a set of operations without the cache to the same set with a cache.