Out-of-Order Cluster (OOO) was significantly rebuild too.
The main novelty introduced in Sandy Bridge architecture — new set of 256-bit Advanced Vector Extension (Intel AVX) instructions, which in some way is an extension of already included set of 128-bit SSE instructions. The use of 256-bit long operands should result in smaller size of OOO machine and as a consequence smaller die size. To do so, Sandy Bridge now features a new way or working with data — Physical register file (PRF). The essence of PRF boils down to: registers are packed in PRF storages of public access while OOO mechanism only uses its (storages’) links. This increases the performance of OOO unit considerably as well as reduces time consumption for data processing associated operations. Thereby, there is no need in larger processor die size and in more power for OOO cluster to work.
On the other hand, the bottleneck for 256-bit AVX instructions in OOO unit — is unit’s bandwidth. To deal with it the number of buffers was increased and of course the number of buffers for PRF become bigger too.
Improvement inside OOO unit:
- Data is copied once only
- No need to move data after computation is done
- Increased number of buffers made data-flow window larger by 33%
The overall changes in OOO are mainly targeted at the use of AVX extension cause Intel has big pans for it (AVX) in future.