Prozessorentwicklung – ganz kurz

Loading

Vorab: ich weiß das einige Blogleser sich gut in Prozessortechnologie auskennen. Ich selbst habe über die Hardwareentwicklung ja eine ganze Rubrik mit etlichen sehr langen Artikeln geschrieben. Aber wir leben nun mal in den Zwanziger Jahren des dritten Jahrtausends, die nachkommende Jugend. die nur noch gewohnt ist kurze Antworten von Google zu bekommen, wäre mit langen Artikeln geistig hoffnungslos überfordert. Daher habe ich die Prozessorentwicklung auf das Minimale gekürzt.

Dieser Artikel beschriebt einige Stationen der Prozessorentwicklung am Beispiel der x86 Linie. Ich führte aber jeweils noch ein Beispiel aus der Vergangenheit an, denn das meiste hat Intel nicht erfunden. Continue reading „Prozessorentwicklung – ganz kurz“

Dhrystone-MIPS und Transistorcount

Auch heute wieder ein Computerthema auf das ich beim Schreiben gekommen bin, demnach hat nach meinen Recherchen ein Rechner in der Penryn Architektur (Core 2) Geschwindigkeit von bis zu 18.000 MIPS, also Millionen Instruktionen pro Sekunde. Das sind pro Kern (wahrscheinlich auf ein 4-Kernsystem bezogen) bei 3,2 GHz Takt 1,4 Instruktionen pro Sekunde, und auch in der ct‘ hat man bei einer neuen Architektur namens VISC 5,24 DMIPS/Takt, allerdings wahrscheinlich auf zwei Kerne bezogen.

Nun was sind MIPS – es ist die Abkürzung von Millionen Instruktionen pro Sekunde. Das scheint ein einfaches Kriterium zu sein, ist es aber nicht. Zum einen ist es schwer Instruktionen zu zählen. Natürlich kann man ein Benchmark erstellen, denn Assemblerquelltext ansehen und dann vor allem bei Schleifen die Instruktionen zählen, mit den Durchläufen multiplizieren. Doch jenseits künstlicher kleiner Inhalte, bei konkreten größeren Problemen wird das schwer.

Das zweite ist das man ja damit auch Prozessoren und Rechner vergleichen will, und dann wird es schwer weil die Instruktionen verschiedener CPU unterschiedlich mächtig sind. Das sieht man schon bei der x86 Architektur: Eine Instruktion ist eine einfache Register-Register Bewegung von 32 Bit Daten wie „MOV EAX,EBX“ aber auch die kombinierte Addition und Multiplikation von acht Einfach genauen Fließkommazahlen (vfmaddps %ymm0, %ymm1, %ymm2, %ymm3).

Continue reading „Dhrystone-MIPS und Transistorcount“

Die Pipeline

So, ich komme mal Niels Wunsch nach mehr Grundlagenaufsätzen zum Thema Computeerarchitekturen nach. Heute geht es um die Pipeline. Nein es handelt sich nicht um ein Spiel wo ein Klempner lecke Rohre verbinden muss und auch nicht um den Ukraine-Gas Konflikt. Es handelt sich um eine Maßnahme dem Prozessor Beine zu machen.

Die erste Verbesserung der Geschwindigkeit hat mit der Verarbeitung der Befehle zu tun. Dies ist für jeden Befehl folgender Ablauf:

  • Hole den Befehl (oder bei CISC Architekturen oft auch nur das erste Byte des Befehls) vom Speicher. Dies wird als Fetch bezeichnet.

  • Dekodiere den Befehl (decode)

  • Eventuell, hole weitere Daten, die zum Befehl gehören. (Get Data, Memory Read)

  • Führe den Befehl aus (Execute)

  • Lege Daten im Zielregister ab (Write Back)

Continue reading „Die Pipeline“