CSC/ECE 506 Fall 2007/wiki1 4 JHSL: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 90: Line 90:
Jonathan Schwartz, President and CEO of Sun, holds a Niagara 2 wafer
Jonathan Schwartz, President and CEO of Sun, holds a Niagara 2 wafer


<!---
==="Personal Petaflop": The Latest in GPU world ===
==="Personal Petaflop": The Latest in GPU world ===
*ATI Radeon  
*ATI Radeon  
*NVidia GeForce
*NVidia GeForce
---!>


== Buses and memory ==
== Buses and memory ==

Revision as of 00:05, 6 September 2007

Architectual Trends

General trends

During the last ten years general direction of the architectural trends did not change much: the logic density is still increasing, number of CPUs per machine is rising, memory size and bandwidth are growing. The only difference is that the most of the yesterday's bleeding-edge technologies have made its way to consumer market and now available for individual users, not just big companies and research centers. Ready availability of such technologies, in turn, has fed the hi-end portion of the market and most of the commodity parts are preferred choice for the state-of-the art computer building. While general direction is still the same, it is important to note some of the technological advances that can potentially set new direction for the next generation of the computers. Further in this article bottom-up approach will be used to discuss architectural trends: first the major advancements in the underlaying technology will be mentioned, and later, discussion of the higher-level architecture will follow.

"Rock bottom" (Silicone/Carbon)

Trend of a transistor size

The very basic building block of electronic technology, the transistor, has shrank dramatically during the past decade. Processors built on 45nm technology are widly available on the market. According to Intel's press release from the beginning of this year, "Just a decade ago, the state-of-the-art process technology was 250nm, meaning transistor dimensions were approximately 5.5 times the size and 30 times the area of the technology announced today by Intel" [1]. Here, on the image below you can see a 45nm 6-transistor SRAM cell, developed by Intel [2].
http://www.intel.com/pressroom/images/manufacturing/45nm_SRAM_Cell_sm.jpg
It is worth mentioning, that while 45nm is current production specification, all major players have already announced plans to decrease trace width even further.

Wafer size and CPU footprint

While the transistor size continues to decrease, the manufacturers have been consistently moving towards larger silicone wafer sizes. Today most of the CPUs are produces on 300mm wafers. Combined with increased logic density, this allows to produce more processors from a single wafer, therefore significantly decreasing overall production costs.
http://www.intel.com/pressroom/images/manufacturing/45nm_wafer_photo_2_sm.JPG
Image: Intel engineer holds 300 mm wafer.

The Future is here: Carbon nanotubes

While silicone is still the primary choice for today's technology, new material has attracted attention of the semiconductor industry: carbon nanotubes. Microscopic cyllinders of only about 1nm in diameter (hence the name), possess very interesting electrical properties: under some conditions they can be metallic, and under other - semiconductors. In 2001 IBM was successful in constructing first carbon-based transistors [3].
http://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Types_of_Carbon_Nanotubes.png/250px-Types_of_Carbon_Nanotubes.png
http://en.wikipedia.org/wiki/Carbon_nanotube

Longer, Wider, Deeper and Smarter:

Ever decreasing transistor sizes has enabled design of ever more complex processors. In 1995, Intel has released its biggest CPU up to that date, Pentium PRO. Based on revolutionary P6 design, it introduced such features as speculative execution, super pipelining and register renaming to x86 world for the first time. Pentium PRO's better known reincarnation, Pentium II, have been introduced to mass market in 1997 represented one of the best and longer-running CPU architectures developed by Intel. As can be seen on the diagram below, it has five distinct execution units, control by the out-of-order execution logic. This allowed Pentium-II CPUs to execute up to 5 uOPS per each clock cycle. Combined with deep high-clock, 12-stage pipeline, the CPU provided superior performance.
P-II Architecture Image

Longer pipelines (Intel Netburst)

Encouraged by success of long pipeline in P6 architecture, Intel decided to push it even further. In November 2000, new "Netburst" technology was introduced to the market as Pentium 4. This CPU have been completely redesigned, and featured extremely long, 31-stage pipeline that could run at clock speeds of up to 4GHz.
http://www.phys.uu.nl/~steen/web02/p4.jpg

Wider internal buses, more logical units

While Intel was engaged into the chase after The Gigahertz, AMD took another approach to increasing CPU performance. With new design, AMD K8 had much shorter pipeline (11 steps for integers units and 17 steps for floating point), compared to 31 of Intel Pentium 4. This meant that each stage has to do more work, therefore not capable of such high clock speeds as it's rival. However, what K8 lacked in clock cycles per second, it picked up in number of instructions executed per clock cycle. A simple look at K8's architectural diagram reveals that AMD, in some sense, succeeded to glue together three nearly complete cores in a single CPU:
http://www.cpuid.com/reviews/K8/K8-core.gif
There are three of everything: decoders, schedules, ALU/AGU, and FPU units (although not all of them are equal in functionality).

Deeper caches

As core clock speeds skyrocketed, so did the need for fast memory access. However, since front-side buses were not in position to deliver the bandwidth, and more importantly, short response times required by modern CPUs, the industry turned to caching. In relatively short period of time cache sizes grew from 128KB to 512KB and then even to several megabytes. For some CPUs FSB bandwidth problem became so critical that not only cache size have been increased, but also a whole extra L3 layer of caching have been added. Today it is not unusual to see a system with 8MB of L2 cache (Intel Core 2 Quad) or even 24MB of L3 cache (Intel Itanium 2 9050).

"Smarter" CPUs

Not only CPUs became smaller, faster and capable of performing multiple instructions per cycle, but they also became smarter about how they perform instructions. As a rule, practically all modern CPUs implement in hardware such elaborate mechanisms as branch prediction, speculative execution, register renaming and out-of-order execution. But as we all know, there are no rules without exceptions, and one of the most interesting exceptions is Intel Itanium. Instead of complex logic implementation, it has the ability to read "hints" generated by a compiler from the code stream, and make decisions based on that information. This approach allowed to replace "fixed" rules embedded in silicone with flexibility of a compiler that could perform far more complex analysis of the code then anything implemented in the processor itself.
http://upload.wikimedia.org/wikipedia/commons/thumb/7/7c/Itanium_arch.png/800px-Itanium_arch.png
Intel Itanium
Another interesting development is introduction of a built-in memory controller in Opteron processors by AMD. This feature allowed CPU to manage all memory access the way it sees fit, ensuring that other components cannot delay memory requests coming from the CPU.

"My dual quad-core with quad-SLI"

Since there is a limit on number of execution units in the CPU after which there is no significant performance gain, processor manufacturers were forced to shift their attention from instruction-level parallelism to thread-level.

Intel Hyperthreading

The first commodity processor that couls handle multiple threads at the same time was Intel Pentium 4 with HyperThreading (HT) technology. The basic idea behind the HT is to keep the same number of execution units in CPU, but double the register file and some control logic to allow two threads to share the resources of a single CPU.
http://www.digit-life.com/articles/pentium4xeonhyperthreading/pic_1.gif
http://www.digit-life.com/articles/pentium4xeonhyperthreading/index.html

Intel Core 2 Duo, AMD X2

The next logical step after HyperThreading was full-scale multi-core design. While Intel rushed to put two separate cores connected via FSB in the same package, AMD held off it's own dual core CPU in order to develop it right. As a result, AMD came to the market later, but with better, "real" Dual-core CPU, not just two separate cores in the same packaging.
http://www.amd.com/us-en/assets/content_type/Additional/41037A_01_A64_X2_diag.jpg
http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_9485_13041%5E13043,00.html
Shortly thereafter, Intel released it's revised dual-code processor, this time designed similarly to AMD. It is important to note that both manufacturers have strong plans to increase the number of cores per package, and Intel has already released it's first Quad-Code CPUs.

Cell

In 2001, Sony, Toshiba, and IBM (collectively known as "STI") began working on the Cell Broadband Engine Architecture ("cell") processor. It contains general-purpose RISC-based processor cores and a set of highly-specialized coprocessors which can handle multimedia and vector processing tasks with high efficiency. The engineers of the cell processor chose to favor power efficiency, high bandwidth, and computational speed over ease of development, which has led some to claim that the platform is difficult to use in development. The cell processor was widely distributed as part of the Sony PlayStation 3 gaming console, in a configuration with a single general-purpose processor with seven coprocessors.
http://www.ibm.com/developerworks/library/pa-fpfeib/Figure8.gif
The cell processor, from http://www-128.ibm.com/developerworks/power/library/pa-fpfeib/

Sun Niagara

If you think that having two dual-core CPUs with HyperThreading in the same box is insane or having seven co-processors is a bit excessive, think again. Buy introduction of it's Niagara technology, Sun Microsystems made the whole notion of number of CPUs in a box irrelevant. This monster has four UltraSparc cores in a single package and is capable of running 4 threads per core. If this is not enough, it is possible to have multiple CPUs in the same system. Sun positioned the chip as environmentally friendly, since it consumed only 70 watts of power, far less than comparable chips in the market. The Niagara processor was released in 2005 as the Sun "UltraSPARC T1".

Attempting to build on the success of the UltraSPARC T1, Sun began designing the second generation chip, the "UltraSPARC T2", codenamed "Niagara 2" which doubled the number of concurrently executed threads from 32 to 64. The power consumption was increased to 95 watts, but significant features were added, including 10GB Ethernet, PCI Express (PCIe), and integrated cryptographic and floating point units for each of the cores.

http://www.sun.com/images/misc/g20_news_qer07_sm.jpg
Jonathan Schwartz, President and CEO of Sun, holds a Niagara 2 wafer