CSC/ECE 506 Fall 2007/wiki1 4 JHSL: Difference between revisions
Line 23: | Line 23: | ||
== Longer, Wider, Deeper and Smarter: == | == 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 | 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. | ||
<br> | <br> | ||
=== Longer pipelines (Intel Netburst) === | === Longer pipelines (Intel Netburst) === | ||
=== Wider internal buses, more logical units === | === Wider internal buses, more logical units === | ||
*(AMD K8, Intel Core 2, SSE1/2/3/4) | *(AMD K8, Intel Core 2, SSE1/2/3/4) |
Revision as of 04:26, 5 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, current production specs and future plans.
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].
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.
Longer pipelines (Intel Netburst)
Wider internal buses, more logical units
- (AMD K8, Intel Core 2, SSE1/2/3/4)
Deeper caches
- (L3 caches, smart prefetch and so on)
"Smarter" CPUs
- Itanium
- (explicit parallelism)
- AMD Opteron
- (built-in memory controller and bus logic)
- Intel P4
- (complex branch prediction)
"My dual quad-core with quad-SLI"
Intel Hyperthreading and Core 2 Duo/Quad
AMD X2, Quadcore
Sun Niagara
- 4 threads per core
- 4 cores per CPU,
- multiple CPUs per box
IBM Cell
"Personal Petaflop": The Latest in GPU world
- ATI Radeon
- NVidia GeForce
Buses and memory
Parallel Buses
The PCI (Peripheral Component Interconnect) architecture was introduced by Intel in 1992, but did not gain significant traction over the established VESA Local Bus (VLB) in the consumer market until 1994. It was originally released only as a component specification, but later revisions added requirements for shape of connectors and motherboard slots. The bus supports both 32-bit and 4-bit bus widths. Four interrupt lines are shared by all devices on the bus, but are shifted by one position between devices so they are used evenly. For example, interrupt "A" on the first device is shifted to interrupt "B" on the second device, to interrupt "C" on the third device, and so on. The original specification provided a 33 MHz bus speed for a peak transfer rate of 133 MB/second for a 32-bit bus, and 266 MB/second for a 64-bit bus. Later revisions of the standard increased the frequency to 66 MHz, with a peak transfer rate of 533 MB/second for a 64-bit bus.
As time progressed, heavily-graphical applications (such as video games) began pushing the limits of the shared PCI bus. In response to this, the Accelerated Graphics Port (AGP) standard appeared in 1997, which provided a direct connection between the processor and a single graphics device. AGP is commonly referred to as a bus, but it is in fact a simple point-to-point channel. The single-purpose nature of this pathway allowed higher performance than could be attained when a graphics adapter shared the PCI bus. AGP was released in 1x, 2x, 4x, and 8x variants, which allowed data rates ranging from 266 MB/second up to 2133 MB/second. Higher data rates in later revisions were achieved with a constant clock speed of 66 MHz using double-data rate (DDR) and quad-data rate (QDR) techniques, among others.
In 1998, Compaq, IBM, and HP submitted a specification for PCI Extended (PCI-X) to the PCI Special Interest Group of the ACM, where it was ratified as an open standard. PCI-X doubled the bus speed over "traditional" PCI to 133 MHz, allowing for throughput up to 1.06 GB/second. This was needed because some devices, such as Gigabit ethernet cards, were saturating the PCI bus. Later revisions to PCI-X were ratified in 2003, and added even higher clock speeds (up to 533 MHz) and correspondingly higher throughputs. PCI-X never gained much market share, however, as hardware manufacturers largely chose to adopt PCI Express (PCI-E) instead.
Serial Buses
To replace the existing PCI, PCI-X, and AGP buses, Intel released PCI Express (PCIe) in 2004. PCIe was designed to be software-compatible with existing PCI devices. Unlike the previous architectures, PCI-E specified serial rather than parallel communications. This means that data is transmitted one bit at a time, but the specification allows up to 32 of these serial links (called "lanes") to be used concurrently. The lanes are not clock-synchronized; rather, the data are encoded using the 8b/10b scheme, which allows the receiver to automatically discover the clock from the data. They operate at 2.5 GHz, allowing for a maximum effective throughput at 32 lanes of 8 GB/second in each direction. Physically, PCIe devices are connected using a crossbar switch, which allows dynamic reallocation of communication lanes between any pair of devices. This is an improvement over the bus architectures, in which only one device could communicate at a time. Multiple lanes can be allocated between a pair of devices to achieve higher bandwidth communications. When multiple lanes are allocated to a given pair of devices, the data are interleaved across the lanes. This is referred to in the specification as "data striping". Version 2.0 of PCIe was released in January of 2007, which retains backward compatibility but allows for a doubling of the data rate in each of the lanes to 500 MB/second.
- Future:
- AMD HyperTransport
- Intel EV?
Memory
- [G]DDR2/3/4
- FB-DIMM
References / Extra info
- http://www.intel.com/pressroom/archive/releases/20070128comp.htm
- http://www.intel.com/pressroom/archive/releases/20060125comp.htm
- http://domino.research.ibm.com/comm/pr.nsf/pages/news.20010425_Carbon_Nanotubes.html
Intel P6 Arch http://studies.ac.upc.edu/ETSETB/SEGPAR/microprocessors/pentium2%20(mpr).pdf
Intel Netburst http://en.wikipedia.org/wiki/NetBurst
Intel P4 microarch http://www.intel.com/technology/itj/q12001/pdf/art_2.pdf
Peripheral Component Interconnect (PCI) http://en.wikipedia.org/wiki/Peripheral_Component_Interconnect
Peripheral Component Interconnect Extended (PCI-X) http://en.wikipedia.org/wiki/PCI-X
Accelerated Graphics Port (AGP) http://en.wikipedia.org/wiki/Accelerated_Graphics_Port
1 GHz HyperTransport Technology http://www.amd.com/us-en/Processors/ComputingSolutions/0,,30_288_13265_13295%5E13340,00.html
AMD K7 http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/22054.pdf
AMD K8 http://www.cpuid.com/reviews/K8/index.php
Intel Itanium http://en.wikipedia.org/wiki/Image:Itanium_arch.png
Sun Niagara http://www.opensparc.net/pubs/preszo/06/multicore/Niagara_Microarchitecture_ooox-Poonacha.pdf
IBM Cell http://domino.research.ibm.com/comm/research.nsf/pages/r.arch.innovation.html
NVidia GeForce 6 series http://download.nvidia.com/developer/GPU_Gems_2/GPU_Gems2_ch30.pdf
Radeon X 1800 http://www.hothardware.com/articles/ATI_X1000_Graphics_Family/?page=4