Dual-core and multi-core processors
Two or more independent processors in one package
Actually an old idea but not put into wide practice until recently.
Since L1 cache is usually inside package and L2 cache outside package, dual-/multi-core processors usually share L2 cache.