Cache Size, Cache Hierarchy, and Compiler Development

Other improvements center around increasing the level 1 (L1) and level 2 (L2) cache on the chip and further enhancing the compilers to take advantage of the cache and to find new ways to increase parallelism. The reason the cache size makes such a difference is that the cache memory is closest to the processor. The L1 cache has the shortest delay in loading data and instructions for the processor, and therefore anything loaded or stored in L1 will help to speed up the overall performance.

L2 is the next closest memory “bucket,” and so on. Therefore, an obvious way to improve the next versions of the Intel Itanium processor family will be to increase the cache sizes. Developing the chip so that additional levels can reside on or nearer the CPU chip will improve performance as well. Splitting the cache into separate instruction and data locations could potentially give new speed gains.

There is a database software vendor today who has developed an application to take an entire database from the disk device and place it in a computer's main memory. This results in an astonishing 10-fold improvement in access speed. By that same analogy, it's easy to see that if you can move this data from the main memory and put it into the cache—and as close to the processor as possible—relative kinds of speed improvements are possible.

Compilers will be improved by the ability to make better use of the cache hierarchy. Today, the complier actually gives hints to the processor as to what to store in a given cache level. Improving these algorithms means additional efficiency as the processor makes more “right decisions” that will enable it to run more efficiently.

Most of Hewlett-Packard's compilers on HP-UX are quite mature today. HP has been working on these for several years, and the code for HP is highly tuned. However, in the Linux and Windows operating environments, the compilers still need to reach the same level of maturity as in the UNIX[43]-based environment. This is important because improving the compiler is yet another way to create a new speed gain from existing microprocessor technology. For example, the more parallelism that the compiler can find, locate, and call out to the microprocessor, the greater the performance gain.

[43] UNIX is a registered trademark of the Open Group.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.168.46