Multilevel cache effective access time calculations considering cache miss
You MUST always access the L1 cache before you know if you have a hit or miss. 

(Edited)
All misses then go to the L2 cache after which you know if you had an L2 hit or miss etc.

Note that 

$$\color{red}{H_{1}}T_{c1} + (1 – H_{1})(T_{c2}+\color{red}{T_{c_1}})$$

Equals. 

$$T_{c1} + (1 – H_{1})(T_{c2})$$

So the first part of your formula agrees with the book. The last part does not. But following reasoning leading to the first two terms the third term should look as the book says.



Multiply out the second term:

$$\color{red}{H_{1}}T_{c1} + (1 – H_{1})(T_{c2}+\color{red}{T_{c_1}}) &lt;=&gt;$$

$$\color{red}{H_{1}}T_{c1} + (1 – H_{1})T_{c2}+(1 – H_{1})\color{red}{T_{c_1}} $$ 

And 
$$\color{red}{H_{1}}T_{c1} + (1 – H_{1})T_{c1} &lt;=&gt; $$
$$\color{red}{H_{1}}T_{c1} + T_{c1} – H_{1}T_{c1}  &lt;=&gt; $$
$$ T_{c1} $$

I apologize, My comment about the third terms was a bit cryptic.

We should count the full L1 cache (hit and miss): $$T_{c1}$$ 
All the remaining accesses (which are all the misses from L1) go to the L2 cache: $$(1 – H_{1})T_{c2}$$
Following the same logic, all the remaining accesses (which are all the misses from L2) go to the main memory: $$(1 – H_{2})T_{m}$$