{"id":471,"date":"2008-11-28T11:18:32","date_gmt":"2008-11-28T10:18:32","guid":{"rendered":"http:\/\/bernd-leitenberger.de\/blog\/?p=471"},"modified":"2008-11-28T11:18:32","modified_gmt":"2008-11-28T10:18:32","slug":"neue-prozessoren-und-neue-software","status":"publish","type":"post","link":"https:\/\/www.bernd-leitenberger.de\/blog\/2008\/11\/28\/neue-prozessoren-und-neue-software\/","title":{"rendered":"Neue Prozessoren und neue Software"},"content":{"rendered":"\n<p>Ich habe gerade einen Bericht &uuml;ber die Architektur von Intels neuem Prozessor Core I7 gelesen. Er f&uuml;hrt wieder neue Befehle ein, mit denen man z.B. Strings besser vergleichen kann und die Stringl&auml;nge schneller bestimmen. Vor allem gibt es wieder Hyperthreading und neue Hardware Features, wie das komplette Stilllegen von Kernen oder das Hochtakten der anderen Kerne wenn einige stillgelegt sind.<\/p>\n<p>Das ganze erinnert mich an eine Grundproblematik, die wir eigentlich seit dem Pentium II haben. Bis dahin war es so, dass die Prozessoren die Befehle immer schneller ausf&uuml;hrten, entweder weil sie weniger Takte pro Befehl brauchten oder die Taktfrequenz anstieg. Es gab gravierende Erweiterungen in der Architektur: Mit dem 80286 den Protected Mode und eine 16 MByte Adressierung und mit dem 386 den vollen 32 Bit Modus mit 32 Bit Registern und 32 Bit Adressierung. Aber: Software musste daf&uuml;r entwickelt werden und dann konnte die Software auf allen Rechnern das gleiche &#8211; egal ob sie auf einem Pentium oder 386 er lief.<\/p>\n<p><!--more--> <\/p>\n<p>Seit dem Pentium II wird an der Architektur geschraubt. Es wurde eine zus&auml;tzliche Unit eingef&uuml;hrt: SSE, die mittlerweile bei SSE 4.2 angekommen ist. Mal gibt es Hyperthreading, mal nicht. Prozessoren gibt es mit 2, 3 oder 4 Kernen. Eine Zeitlang gab es auch nur 32 Bit f&auml;hig waren und welche mit 32 und 64 Bit Kernen. <\/p>\n<p>Sieht man sich die SPEC Benchmarks an, bei denen die Hersteller der Prozessoren die Freiheit haben den Compiler so einzustellen, dass er den optimalen Code erzeugt, dann sind teilweise gro&szlig;e Spr&uuml;nge in der Performance m&ouml;glich: 20-30 5 mehr bei gleicher Taktfrequenz mit einem neuen Kern und Optimierter Software. Doch haben Sie etwas davon? <\/p>\n<p>Nein. Denn ein Hersteller von Software kann diese nicht auf einen Prozessor optimieren. Er kann nicht die neuesten Befehle einsetzen, wenn er nicht einen Gro&szlig;teil der Kundschaft verprellen will, die diesen Prozessor nicht hat. (Vor allem nicht wenn AMD und Intel zueinander inkompatible Erweiterungen machen). Ja heute ist &#8211; einige Jahre nach Einf&uuml;hrung der Zweikernprozessoren &#8211; es noch normal, dass eine Software nur einen Kern ausnutzt,. Das ist aus der Programmierung zu erkl&auml;ren, die erheblich aufwendiger wird, wenn man mehrere Prozesse abstimmen muss. Sehr oft ist aber auch der Arbeitsablauf linear. Der Zweikernprozessor bringt trotzdem etwas: Denn das Betriebssystem kann ganze Programme zwischen den Kernen verschieben. So bleibt ein Kern f&uuml;r die Arbeit und einer f&uuml;r Hintergrundt&auml;tigkeiten (Virenscanner, Download, Videostreaming). Doch mehr braucht man nicht: Vierkernprozessoren haben bei den Wald und Wissen Anwendungen keine Vorteile. F&uuml;r Gamer werden sogar Zweikernprozessoren empfohlen &#8211; Sie sind h&ouml;her getaktet und es gibt noch kaum Spiele die mehr als zwei Kerne nutzen.<\/p>\n<p>Wie soll dies weitergehen? Man wird wohl kaum den Fortschritt einfach aufhalten k&ouml;nnen. Ich sehe zwei M&ouml;glichkeiten. Die eine getrieben von den Hardwareherstellern: Sie legen eine Hardwareplattform fest die so m&auml;chtig ist, dass es Jahre dauert sie vollst&auml;ndig umzusetzen. Bis dahin emuliert man sie und nach und nach f&uuml;llt man sie mit Leben. Z.B. einen 64 Kernprozessor. Derzeit k&ouml;nnen wir nur 4 Kerne produzieren. Diese m&uuml;ssten die anderen mit emulieren und dabei eben dauernd wechseln. Oder eine 128 Bit Umgebung mit sehr m&auml;chtigen Streaming Operationen, Codierungs- und Encodierungsoperationen in Hardware oder High-Level Befehle als Maschinensprache. Auch das ist nicht undenkbar. Sie sind jetzt vielleicht nicht m&ouml;glich und m&uuml;ssen bis dahin durch ein kleines Programm ersetzt werden. Doch das ist nichts neues: Der 8086 konnte auch nicht Multiplikation und Division in Hardware ausf&uuml;hren. Das machte ein kleines Microcodeprogramm. Software wird dann laufend schneller in dem Ma&szlig;e wie die Hardware die Emulation durch real vorhandene Hardware ersetzen kann. Solange kann aber ein Hersteller seine Software unver&auml;ndert &uuml;ber Jahre hinweg einsetzen und sie wird immer schneller.<\/p>\n<p>Der zweite Weg wird von den Softwareherstellern beschritten: Betriebssystemherstellern und Softwareproduzenten. Wenn ich will, dass meine Software immer optimal l&auml;uft, dann muss ich sie neu kompilieren. Nun will ein Softwarehersteller sicher nicht seinen Code herausgeben. Das ist aber notwendig um sie neu zu kompilieren. Eine L&ouml;sung w&auml;re es den Quelltext zu verschl&uuml;sseln&nbsp; z.B. mit einem 256 AES Schl&uuml;ssel. Wenn eine Kompilierung notwendig ist fragt der Compiler nach dem Schl&uuml;ssel beim Hersteller nach und bekommt ihn. Damit erzeugt man eine optimale Version f&uuml;r den eigenen Prozessor und man wahrt trotzdem das Geheimnis des Codes. Das Kompilieren muss dabei fest in das Betriebssystem eingebunden werden und dieser muss sich gegen&uuml;ber dem Hersteller als sicher ausweisen k&ouml;nnen z.B. mit einem Zertifikat. Ein Hersteller kann sogar mehrere Versionen von besonders kritischen Teilen vorhalten, optimiert f&uuml;r verschiedene Prozessoren.<\/p>\n<p>Eine Alternative, aber weitaus schlechter optimierend w&auml;re ein Programm welches den Quelltext untersucht und Optimierungen vornimmt, z.B. Befehle durch leistungsf&auml;higere ersetzen oder Programmteile in einzelne Threads unterteilen. Diese L&ouml;sung kommt ohne Kenntnis des Quelltextes aus, ist jedoch nur suboptimal .NET hat dies angek&uuml;ndigt, doch bislang sieht man keine besondere Unterst&uuml;tzung von leistungsf&auml;higen Features einzelner Architekturen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich habe gerade einen Bericht &uuml;ber die Architektur von Intels neuem Prozessor Core I7 gelesen. Er f&uuml;hrt wieder neue Befehle ein, mit denen man z.B. Strings besser vergleichen kann und die Stringl&auml;nge schneller bestimmen. Vor allem gibt es wieder Hyperthreading und neue Hardware Features, wie das komplette Stilllegen von Kernen oder das Hochtakten der anderen [&hellip;]<\/p>\n","protected":false},"author":169,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[193,192,103,159],"class_list":["post-471","post","type-post","status-publish","format-standard","hentry","category-computer","tag-core","tag-intel","tag-prozessoren","tag-software","entry"],"a3_pvc":{"activated":false,"total_views":501,"today_views":0},"jetpack-related-posts":[{"id":18983,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/10\/05\/die-glorreichen-10-die-fuenf-besten-x86-prozessoren\/","url_meta":{"origin":471,"position":0},"title":"Die glorreichen 10 &#8211; die f&uuml;nf besten x86 Prozessoren","author":"Bernd Leitenberger","date":"05.10.2026","format":false,"excerpt":"Die x86\u2011Linie besteht jetzt seit nahezu f\u00fcnfzig Jahren, und sie lebt immer noch. Das ist au\u00dfergew\u00f6hnlich. Alle Prozessorlinien, die es zur selben Zeit gab, wurden l\u00e4ngst eingestellt oder spielen nur noch in Nischenanwendungen eine Rolle (die Z80\u2011Linie lebt noch genauso wie die 6502\u2011Linie). Motorola hat sogar zwei Konkurrenzlinien eingestellt \u2013\u2026","rel":"","context":"In &quot;Die Glorreichen 10&quot;","block_context":{"text":"Die Glorreichen 10","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/die-glorreichen-10\/"},"img":{"alt_text":"","src":"https:\/\/vg05.met.vgwort.de\/na\/182a42b340cc44d69bc2f7ffde81f8bb","width":350,"height":200},"classes":[]},{"id":18981,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/10\/03\/die-glorreichen-zehn-die-fuenf-schlechtesten-intelx86prozessoren\/","url_meta":{"origin":471,"position":1},"title":"Die glorreichen zehn \u2013 die f&uuml;nf schlechtesten Intel\u2011x86\u2011Prozessoren","author":"Bernd Leitenberger","date":"03.10.2026","format":false,"excerpt":"Die x86\u2011Linie besteht jetzt seit nahezu f\u00fcnfzig Jahren, und sie lebt immer noch. Das ist au\u00dfergew\u00f6hnlich. Alle Prozessorlinien, die es zur selben Zeit gab, wurden l\u00e4ngst eingestellt oder spielen nur noch in Nischenanwendungen eine Rolle (die Z80\u2011Linie lebt noch genauso wie die 6502\u2011Linie). Motorola hat sogar zwei Konkurrenzlinien eingestellt \u2013\u2026","rel":"","context":"In &quot;Die Glorreichen 10&quot;","block_context":{"text":"Die Glorreichen 10","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/die-glorreichen-10\/"},"img":{"alt_text":"","src":"https:\/\/vg05.met.vgwort.de\/na\/2d5dd6c4984540a3ab5d9abe4274552f","width":350,"height":200},"classes":[]},{"id":18612,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/28\/galileos-cds-teil-2\/","url_meta":{"origin":471,"position":2},"title":"Galileos CDS \u2013 Teil 2","author":"Bernd Leitenberger","date":"28.03.2026","format":false,"excerpt":"So, heute geht es weiter mit Teil 2 \u00fcber Galileos CDS, dieser Beitrag schlie\u00dft nahtlos an den ersten Beitrag von gestern an, wie man schon an der ersten Textzeile sieht. Nach der Einleitung im ersten Teil geht es heute weiter damit warum der RCA 1802 genutzt wurde und was seine\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg07.met.vgwort.de\/na\/191e4b0728de42829cf656027b84dc82","width":350,"height":200},"classes":[]},{"id":18610,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/27\/galileos-cds-teil-1\/","url_meta":{"origin":471,"position":3},"title":"Galileos CDS &#8211; Teil 1","author":"Bernd Leitenberger","date":"27.03.2026","format":false,"excerpt":"Hall\u00f6chen, es wird Zeit das ich mich mal wieder melde. Es gab zwei Gr\u00fcnde, warum ich mich so rar gemacht habe. Das eine ist das es gerade nicht so viel aktuelles gibt, au\u00dfer einem Update zu Artemis, zu dem ich vielleicht noch etwas schreibe. W\u00e4hrend Trump das ganze Programm nach\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg07.met.vgwort.de\/na\/4fb81c7bafbd4d9d88b5695abdb33d29","width":350,"height":200},"classes":[]},{"id":18614,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/29\/galileos-cds-teil-3\/","url_meta":{"origin":471,"position":4},"title":"Galileos CDS &#8211; Teil 3","author":"Bernd Leitenberger","date":"29.03.2026","format":false,"excerpt":"So nun zum dritten Teil \u00fcber das prim\u00e4re Computersystem von Galileo, das CDS. Nachdem sich die ersten beiden Teile nur mit dem RCA 1802, warum er gew\u00e4hlt wurde und seiner Architektur befassten geht es heute um das Computersystem selbst. Der Artikel schlie\u00dft so an seine beiden Vorg\u00e4nger gestern und vorgestern\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg07.met.vgwort.de\/na\/6e7f572a246b4ac395de9c260733b707","width":350,"height":200},"classes":[]},{"id":18676,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/05\/31\/die-glorreichen-10-programmiersprachen\/","url_meta":{"origin":471,"position":5},"title":"Die glorreichen 10 \u2013 Programmiersprachen","author":"Bernd Leitenberger","date":"31.05.2026","format":false,"excerpt":"Ich wollte mal eine Reihe in dieser Rubrik \u00fcber Programmiersprachen machen. Zuerst dachte ich daran eine Liste nach meinen pers\u00f6nlichen Favoriten zu erstellen. Anfangs bef\u00fcrchtete ich, dass ich gar nicht auf 10 komme, aber es sind tats\u00e4chlich mehr, wenngleich ich in vielen Sprachen nur kleine Programme verfasst habe oder mich\u2026","rel":"","context":"In &quot;Die Glorreichen 10&quot;","block_context":{"text":"Die Glorreichen 10","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/die-glorreichen-10\/"},"img":{"alt_text":"","src":"https:\/\/vg09.met.vgwort.de\/na\/4073c4f9dc6943a08702cdde13605d43","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/471","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/users\/169"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/comments?post=471"}],"version-history":[{"count":0,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/471\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/media?parent=471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/categories?post=471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/tags?post=471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}