Instructions per Cycle
Die Maßeinheit Instructions per Cycle (IPC; {{#invoke:Vorlage:lang|full|CODE=de|SCRIPTING=Latn|SERVICE=deutsch}}<ref> <templatestyles src="Webarchiv/styles.css" />{{#if:20160810093520
| {{#ifeq: 20160810093520 | *
| {{#if: CPI (cycles per instruction) | {{#invoke:WLink|getEscapedTitle|CPI (cycles per instruction)}} | {{#invoke:Webarchiv|getdomain|http://www.itwissen.info/definition/lexikon/cycles-per-instruction-CPI.html}} }} (Archivversionen)
| {{#iferror: {{#time: j. F Y|20160810093520}}
| {{#if: || }}Der Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
| {{#if: CPI (cycles per instruction) | {{#invoke:WLink|getEscapedTitle|CPI (cycles per instruction)}} | {{#invoke:Webarchiv|getdomain|http://www.itwissen.info/definition/lexikon/cycles-per-instruction-CPI.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer }} vom {{#time: j. F Y|20160810093520}} im Internet Archive{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
}}
| {{#if:
| {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
| {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
| 16= {{#if: CPI (cycles per instruction) | {{#invoke:WLink|getEscapedTitle|CPI (cycles per instruction)}} | {{#invoke:Webarchiv|getdomain|http://www.itwissen.info/definition/lexikon/cycles-per-instruction-CPI.html}} }} {{#ifeq: | [] | [ | ( }}{{#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: CPI (cycles per instruction) | {{#invoke:WLink|getEscapedTitle|CPI (cycles per instruction)}} | {{#invoke:Webarchiv|getdomain|http://www.itwissen.info/definition/lexikon/cycles-per-instruction-CPI.html}} }} {{#ifeq: | [] | [ | ( }}{{#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!{{#if: || }}
}}
| c|{{{webciteID}}}}} {{#if: CPI (cycles per instruction) | {{#invoke:WLink|getEscapedTitle|CPI (cycles per instruction)}} | {{#invoke:Webarchiv|getdomain|http://www.itwissen.info/definition/lexikon/cycles-per-instruction-CPI.html}} }} ({{#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: CPI (cycles per instruction) | {{#invoke:WLink|getEscapedTitle|CPI (cycles per instruction)}} | {{#invoke:Webarchiv|getdomain|http://www.itwissen.info/definition/lexikon/cycles-per-instruction-CPI.html}} }}
}}}}}}}}{{#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:20160810093520|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
| {{#if: || }}{{#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: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
| }}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
}}
| {{#if:
| {{#if: || }}{{#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://www.itwissen.info/definition/lexikon/cycles-per-instruction-CPI.html}}
|| {{#if: || }}
}}{{#if: CPI (cycles per instruction)
| {{#if: {{#invoke:WLink|isBracketedLink|CPI (cycles per instruction)}}
| {{#if: || }}
}}
| {{#if: || }}
}}{{#switch:
|addlarchives|addlpages= {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
}}{{#ifeq: {{#invoke:Str|find|http://www.itwissen.info/definition/lexikon/cycles-per-instruction-CPI.html%7Carchiv}} |-1
|| {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.itwissen.info/definition/lexikon/cycles-per-instruction-CPI.html%7C4}}%7Chttp}} |-1
|| {{#switch: {{#invoke:Webarchiv|getdomain|http://www.itwissen.info/definition/lexikon/cycles-per-instruction-CPI.html }}
| abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org =
| #default = {{#if: || }}{{#if: 1 |}}{{#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}}
}}
}}
}}, ITWissen.info</ref>) bezeichnet die Anzahl der von einem Prozessor in einem Taktzyklus ausgeführten Befehle. Der IPC Wert ist das Resultat der Arbeitsweise des Leitwerks.
Eine obere Grenze für einen IPC-Wert gibt die Skalarität eines Prozessors an, es handelt sich aber in der Regel bei einem IPC-Wert um einen Mittelwert. Zum Berechnen eines IPC-Werts werden viele Befehle ausgeführt und diese häufig durch die dafür benötigte Anzahl an Taktzyklen dividiert (siehe arithmetisches Mittel), es sind aber auch andere Berechnungen eines Mittelwerts denkbar. Der entstehende IPC-Wert ist jedoch abhängig vom konkret ausgeführten Maschinenprogramm und der Mikroarchitektur. So kann ein Programm auf zwei unterschiedlichen Mikroarchitekturen denselben IPC-Wert erzielen, während ein anderes Programm auf denselben Mikroarchitekturen unterschiedliche Werte liefert.
Der IPC-Wert (der durch ein arithmetische Mittel gebildet wurde) mal der Taktfrequenz gerechnet ergibt die Anzahl der ausgeführten Befehle pro Sekunde.
Zu beachten ist, dass einige Hersteller mit einem „Cycle“ oder „Taktzyklus“ nicht die Periodendauer des Taktsignals, sondern ein Vielfaches davon meinen (siehe Double Data Rate).
In der Literatur findet man auch häufig den Cycles per Instruction (CPI) Wert.
Beispiele
- Konrad Zuses Z1 hatte z. B. einen IPC im Bereich von 0,05 bis 1. Bei dem Z1 handelt es sich um eine skalare Mikroarchitektur, denn sein IPC-Wert ist im Optimalfall eins.
- MOS Technology 6502: 0,43 MIPS / MHz / Core
- Intel 8086: 0,06 MIPS / MHz / Core
- Motorola 68060: 1,33 MIPS / MHz / Core
- AMD Phenom II X6 1100T: 3,9 MIPS / MHz / Core
- Intel Core i5 8250U: 10,3 MIPS / MHz / Core
- AMD Ryzen 7 1800X: 10,6 MIPS / MHz / Core
Siehe auch
Einzelnachweise
<references />