Zum Inhalt springen

Terascale-Prozessor

aus Wikipedia, der freien Enzyklopädie

Der Terascale-Prozessor von Intel war ein Forschungsprojekt, um einen Mikroprozessor mit hunderten Kernen zu entwickeln. Eine derartige Architektur wird – analog zu den Multicore-Architekturen – als „Manycore“ bezeichnet.

Der Terascale-Prozessor wurde in Kacheln – den sogenannten Tiles – organisiert, wobei die meisten Kacheln allgemeine Rechenaufgaben wahrnahmen. Der Terascale-Prozessor besaß etwa 100 Millionen Transistoren, wobei jede Kachel etwa 1,2 Millionen Transistoren beherbergte. Er wurde im Jahr 2007 vorgestellt.

Aufbau der Kacheln

Die Kacheln besaßen je eine {{#invoke:Vorlage:lang|flat}} (PE) und einen {{#invoke:Vorlage:lang|flat}}. Die Processing Engine übernahm die Rechenaufgaben mit Hilfe zweier FMAC-Einheiten und einer Gleitkommaeinheit. Zudem besaß die Processing Engine 5 kB an lokalem Speicher. Der Crossbar Switch diente zur Kommunikation mit den Nachbar-Tiles.

Datei:Intel Terascale Processing Engine.svg
Prinzipschaltbild der Processing Engine
Datei:Intel Terascale Tile Arrangement.svg
Spezialisierte Kacheln im Terascale

Einige zusätzliche Kacheln waren auf spezielle Aufgaben wie die Verarbeitung von High Definition Video, Verschlüsselung, Digitale Signalverarbeitung, Physikbeschleunigung oder 3D-Computergrafik optimiert. Diese spezialisierten Kacheln arbeiteten im jeweiligen Aufgabenbereich effizienter – also schneller und energiesparender – als nichtspezialisierte Kacheln.<ref>J. Held, J. Bautista, S. Koehl (Hrsg.): From a Few Cores to Many: A Tera-scale Computing Research Overview. White Paper Research at Intel. Intel 2006 (<templatestyles src="Webarchiv/styles.css" />{{#if:20111119105056

      | {{#ifeq: 20111119105056 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: PDF | {{#invoke:WLink|getEscapedTitle|PDF}} | {{#invoke:Webarchiv|getdomain|http://download.intel.com/research/platform/terascale/terascale_overview_paper.pdf}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20111119105056}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: PDF | {{#invoke:WLink|getEscapedTitle|PDF}} | {{#invoke:Webarchiv|getdomain|http://download.intel.com/research/platform/terascale/terascale_overview_paper.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20111119105056}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: PDF | {{#invoke:WLink|getEscapedTitle|PDF}} | {{#invoke:Webarchiv|getdomain|http://download.intel.com/research/platform/terascale/terascale_overview_paper.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: PDF | {{#invoke:WLink|getEscapedTitle|PDF}} | {{#invoke:Webarchiv|getdomain|http://download.intel.com/research/platform/terascale/terascale_overview_paper.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: PDF | {{#invoke:WLink|getEscapedTitle|PDF}} | {{#invoke:Webarchiv|getdomain|http://download.intel.com/research/platform/terascale/terascale_overview_paper.pdf}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: PDF | {{#invoke:WLink|getEscapedTitle|PDF}} | {{#invoke:Webarchiv|getdomain|http://download.intel.com/research/platform/terascale/terascale_overview_paper.pdf}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20111119105056|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://download.intel.com/research/platform/terascale/terascale_overview_paper.pdf}}
    || {{#if:  || }}
  }}{{#if: PDF
    | {{#if: {{#invoke:WLink|isBracketedLink|PDF}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://download.intel.com/research/platform/terascale/terascale_overview_paper.pdf%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://download.intel.com/research/platform/terascale/terascale_overview_paper.pdf%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://download.intel.com/research/platform/terascale/terascale_overview_paper.pdf }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}).</ref>

Speicheraufbau

Ein Problem, das sich beim Terascale stellte, war, dass durch die hohe Anzahl von Kernen die Anbindung an den Speicher sehr schwer wurde, da einerseits die Datenanbindung geteilt und andererseits der Zugriff auf den Speicher koordiniert werden musste. Intel verwendete zu diesem Zweck einen hierarchischen Cachespeicher. Dabei bekam jeder Kern einen eigenen 16 kB bis 64 kB großen L1-Cache. Der 256 kB bis 1 MB große L2-Cache wurde von einer kleinen Gruppe von Kernen geteilt. Der L3-Cache stand allen Kern-Gruppen innerhalb des Prozessors zur Verfügung.

Zusätzlich kam im Terascale ein L4-Cache aus DRAM-Speicher zum Einsatz, der sich jedoch nicht auf demselben Prozessor-Die befand, sondern auf einem eigenen Die gefertigt wurde.

Der L4-Cache wurde anschließend in MCP-Bauweise neben oder in Stacked-Bauweise auf dem Prozessor angebracht. Zusätzlich wurden die Programme mit einer QoS-Priorisierung versehen, damit der Speicher für wichtige Anwendungen reserviert werden konnte. Wie viel Speicher eine Anwendung beanspruchen konnte, wurde dynamisch von einem Resource-Monitor bestimmt, wodurch das Betriebssystem die Anwendungen in die optimalen Cache-Einheiten verschieben konnte.

Geschwindigkeit

Der Terascale-Prozessor erreichte mit mehr als einem Teraflop je Sekunde eine Geschwindigkeit, die mit dem ASCI-Red-Supercomputer von 1996 vergleichbar ist, der aus 10.000 Pentium-Pro-Prozessoren mit 200 MHz Taktfrequenz und insgesamt 500 kW elektrischer Leistungsaufnahme aufgebaut war.

Taktfrequenz
in Gigahertz
Kernspannung
in Volt
Leistungsaufnahme
in Watt
Datendurchsatz
in Terabit/s
Rechenleistung
in Teraflops
3,16 0,95 062 1,62 1,01
5,10 1,20 175 2,61 1,63
5,70 1,35 265 2,92 1,81

Siehe auch

Einzelnachweise

<references />