Questions about Amdahl's law? Doing exam papers now and I came across two questions which I cannot get my head around sadly. Both are regarding Amdahl's law and Parallel Computing but they seem rather simple and frustratingly enough I cannot really find a definitive answer to any of those questions.
The questions are:

Why must Amdahl's law always apply to a computation?
Why is the existence of superlinear speedup not in contradiction with Amdahl?


The best description of Amdahl's law I found is this one:

At the most basic level, Amdahl's Law is a way of showing that unless a program (or part of a program) is 100% efficient at using multiple CPU cores, you will receive less and less of a benefit by adding more cores. At a certain point - which can be mathematically calculated once you know the parallelization efficiency - you will receive better performance by using fewer cores that run at a higher frequency than using more cores that run at a lower frequency.

I just cannot find a suitable answer on why the law must be always applied to a computation. And superlinear speedup is just when a parallelised speedup can reach far beyond the speedup of a sequential processor. How would it actually contradict Amdahl's law I do not really know apart from it looking a bit like a glitch in the matrix.
Amdahl's law is used to get an idea about where to optimize while considering parallelism.The theory of doing computational work in parallel has some fundamental laws that place limits on the benefits one can derive from parallelizing a computation. Amdahl's Law have detalied explanation of Amdahl's law and it's use.
Processor comes with some other resources like cache which can affect the performance. So if we add more processor, cache memory also increases. Each processor will get less data size to process that can fit into processor's cache which will increase the Performance(Superlinear speedup). But Amdahl's Law considers processors as the only resource but does not consider cache memory.